I got to use Heptio’s Sonobuoy an open source tool for conformance testing and I have to say it’s truly amazing how it works. Over the past year, Heptio has developed a couple of other really interesting and cool tool like Ksonnet and Ark. In this post I will focus on Sonobuoy which is a really exciting tool. Sonobuoy allows us to do conformance and diagnostic of a Kubernetss cluster in a non-destructive manner. It allows us to be able to tell if our cluster is going to behave as intended or as desired. Sonobuoy can be deployed on multiple environment like AWS, GKE, Minikube and AKS. Currently Sonobuoy supports Kubernetes version 1.9 and later. When Sonobuoy is ran on a cluster, it’s diagnostic provides detailed information on state of the cluster that is customizable. We also have a UI tool called Sonobuoy Scanner. It is a browser-based tool and helps us quickly deploy sonobuoy. The Sonobuoy Scanner currently runs only conformance test. Sonobuoy also has a CLI that holds detailed information on systemd logs from each nodes, cluster node, e2e conformance tests and kubernetes API.
Before we can run sonobuoy we need to have a Kubernetes cluster that is up and running. After Sonobuoy is ran in our cluster it creates a result directory that is compressed. The results contains details about our cluster configuration in JSON format. The results folder contains files like host, plugins, resources and server version with each folders having child directories containing reliable information about the cluster.
Sonobuoy is one of the many interesting things Heptio has going on. One really interesting to look at is Heptio Kubernetes Subscription (HKS). With HKS, we can get support for platform agnostics Kubernetes clusters. We can now be free of being locked to a single cloud provider in our clusters. Later on, I will have something with more details for HKS.