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.
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
- Kubernetes cluster
KUBECONFIGenvironment variable set
Step #1.Install Sonobuoy
Download the latest release for your platform
Extract the tarball
Move the extracted
sonobuoy executable to
Devops Engineer Masters Program will make you proficient in DevOps principles like CI/CD, Continuous Monitoring and Continuous Delivery, using tools like Puppet, Nagios, Chef, Docker, Git & Jenkins. It includes training on Linux, Python, Docker, AWS DevOps Certification Training and Splunk. The curriculum has been determined by extensive research on 5000+ job descriptions across the globe.
Step #2.Run Sonobuoy conformance tests
sonobuoy run command to start conformance testing.It creates a few resources in order to run and expects to run within its own namespace.
You can also run with option
--mode quick to quickly run the conformance tests
Step #3.Inspect results
Export the results using the command
export results=$(sonobuoy retrieve)
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!