kubernetes logo

Use Sonobuoy for end-to-end conformance testing of your Kubernetes cluster

Currently, there are about 70+ distributions of Kubernetes available, would it be good if there are a set of conformance tests to make sure that a Kubernetes cluster meets the minimal set of features? Sonobuoy is a diagnostic tool that makes it easier to understand the state of a Kubernetes cluster by running a set of Kubernetes conformance tests in an accessible and non-destructive manner. It is a customizable, extendable, and cluster-agnostic way to generate clear, informative reports about your cluster.

To get a basic understanding of Kubernetes concepts, please refer to earlier posts for understanding on Kubernetes & how to create, deploy & rollout updates to the cluster.

Conformance-passing cluster provides the following guarantees

  • Best practices: Your Kubernetes is properly configured. This is useful to know whether you are running a distribution out of the box or handling your own custom setup.
  • Predictability: All your cluster behavior is well-documented. Available features in the official Kubernetes documentation can be taken as a given. Unexpected bugs should be rare because distribution-specific issues are weeded out during the conformance tests.
  • Interoperability: Workloads from other conforming clusters can be ported into your cluster or vice versa. This standardization of Kubernetes is a key advantage of open source software and allows you to avoid vendor lock-in.

In addition to conformance testing, Sonobuoy also supports a plugin model. In this model, worker pods are dispatched into the cluster to collect data from each node and use an aggregation URL to submit their results back to a waiting aggregation pod. This enables you to integrate conformance test results into your reporting.

How to perform conformance testing?

Sonobuoy leverages Kubernetes end-to-end testing plugin (the e2e plugin) to run conformance tests that are maintained by the Kubernetes community. Before we get into conformance testing, let’s look at the prerequisites

Prerequisites

  • Kubernetes cluster
  • KUBECONFIG environment variable set

Step #1.Install Sonobuoy

Download the latest release for your platform

Image – Download the latest release of Sonobuoy

Extract the tarball

Image – Extract the tarball

Move the extracted sonobuoy executable to /usr/local/bin

Image – Sonobuoy command line options

Step #2.Run Sonobuoy conformance tests

Use the sonobuoy run command to start conformance testing.It creates a few resources in order to run and expects to run within its own namespace.

Image – Sonobuoy conformance testing

You can also run with option --mode quick to quickly run the conformance tests

Image – Quick mode

Step #3.Inspect results

Export the results using the command export results=$(sonobuoy retrieve)

Image – Sonobuoy results

Use the sonobuoy delete command to remove its namespace as well as a few cluster scoped resources.

For detailed information about the conformance tests, plugins, and snapshots, check out the documentation here.

Like this post? Don’t forget to share it!

Summary
Use Sonobuoy for end-to-end conformance testing of your Kubernetes cluster
Article Name
Use Sonobuoy for end-to-end conformance testing of your Kubernetes cluster
Description
Heptio Sonobuoy is a diagnostic tool that makes it easier to understand the state of a Kubernetes cluster by running a set of Kubernetes conformance tests in an accessible and non-destructive manner.
Author
Publisher Name
Upnxtblog
Publisher Logo

Average Rating

5 Star
0%
4 Star
0%
3 Star
0%
2 Star
0%
1 Star
0%

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Previous post 10 things you should know about GDPR
Next post Use Netflix Spinnaker Continuous delivery (CD) platform for fast, safe, repeatable deployments