Announcing two New Heptio Open Source Projects: Heptio Ark and Heptio Sonobuoy

Craig McLuckie
Heptio
Published in
4 min readAug 3, 2017

--

Heptio is committed to making Kubernetes easier to use in production. Today we are pleased to introduce two new open source projects, designed to improve your Kubernetes operations regardless of where you run your cluster. Both projects are now publicly available on Github.

Heptio Ark is a utility for managing disaster recovery, specifically for your Kubernetes cluster resources and persistent volumes. It provides a simple, configurable, and operationally robust way to backup and restore applications and PVs from a series of checkpoints.

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. It is a customizable, extendable, and cluster-agnostic way to generate clear, informative reports about your cluster — regardless of your deployment details.

Ark (n): A vessel or sanctuary that serves as protection against extinction

As our customers move towards production use of Kubernetes, many of them face the challenge of managing cluster backups and restorations. We have seen developers attempt to recover clusters from direct replicas of the underlying cluster state (etcd), with varied success. This problem gets even more complex when you add stateful workloads into the mix. Figuring out the exact association between a volume snapshot and its pod(s) at a specific moment in time can be tricky.

To help solve this problem, we have introduced Heptio Ark. Not only does this tool make it easy to create backups of all cluster objects (pods, services, replicasets, etc.), but it also coordinates volume snapshotting in a way that maintains pod associations. You can then use a single command to quickly restore the entire cluster, or just a subset of it (e.g., scoped by namespace).

In addition to critical backup and recovery operations in production, Heptio Ark is also useful in other scenarios. It makes your cluster resources more portable, which can be helpful when setting up a staging cluster for testing. Heptio Ark also enables easy cross-cloud provider migration of Kubernetes objects; for example, from AWS to Azure.

We are releasing Heptio Ark at an alpha stage to solicit feedback. It is currently compatible with three popular public clouds (AWS, Azure, and Google Cloud Platform). Because the tool is extensible, we will also be adding other environments in time.

You can learn more about Heptio Ark by checking out our documentation here, or just go straight to the GitHub page.

Heptio Sonobuoy

Sonobuoy (n): A naval term for an immersive device that provides a view of the ocean using sonar.

Given that there are many ways to create Kubernetes clusters and many environments used to host them, those tasked with maintaining a cluster are often left wondering whether it is ‘correct’. Is it properly configured? Does it work as it should?

Heptio Sonobuoy is a simple tool that aims to address these questions. It can run a subset of the tests used by the open source community in new Kubernetes version releases, as well as other custom plugins. To ensure that you can safely run Sonobuoy in production, we have carefully picked these tests to avoid side effects.

Heptio Sonobuoy is also built to be cluster-agnostic. Regardless of your setup, it creates a readout of your cluster’s core characteristics, which you can use to verify that things are as you expect. You can also use the output as a way to capture and communicate your cluster configuration when looking for support or filing a bug report.

In addition, Heptio Sonobuoy is intrinsically customizable. We expect that the types of tests users run to verify cluster interoperability will change over time; this was one of the primary design goals the project needed to address. Plugin support allows developers and operators to extend the system with additional tests.

We have aligned the Heptio Sonobuoy project with work being done in the Kubernetes conformance group. We plan to reduce the complexities for anyone looking to qualify their commercial clusters. While this project is currently curated by Heptio, we believe the project is critical to the broader community and will work with the community to find the right home for it.

You can learn more about Heptio Sonobuoy by checking out our documentation here, or just go straight to the GitHub page.

Looking forward

Much work remains to make upstream Kubernetes truly accessible, so you can expect to see a lot more from us in the coming months. Both Heptio Ark and Heptio Sonobuoy were designed with extensibility in mind, and we are invested in working with the open source community to make them even more powerful. We invite you to take a look on Github, and to contribute your ideas via feedback and PRs.

--

--