Recommended Read: Ksonnet: Simplify working with Kubernetes configurations

ksonnet: Simplify working with Kubernetes configurations

We are pleased to announce ksonnet, a set of open source tools to help improve your experience of configuring Kubernetes to deploy applications. We’ve built it in collaboration with our friends from Box, Microsoft and Bitnami.

It has been amazing to see the Kubernetes project take shape over the past few years. The system solves some tough service management challenges. It brings a modern and structured approach to deploying and managing container based applications.

For newcomers, Kubernetes can be intimidating. In particular, new users are often faced with a “wall of YAML” when configuring systems running on Kubernetes. The YAML that most Kubernetes users are writing by hand is a low level format that closely mirrors the raw API.

When first creating the Kubernetes system, we never intended folks to be writing this configuration by hand. We viewed it as a convenient shortcut while we developed other parts of the system. But here we are, 3 years on, and new users are still subject to this very verbose format.

At Heptio, we have been thinking about this for some time and concluded that we needed a new configuration experience. Our goals:

  • Intuitive: letting a new user get up and running quickly and enabling them to discover capabilities through the tools
  • Composable and extensible: making it easy to ‘mix in’ a template that someone else provides, with the extensibility needed to scale to more sophisticated production use cases
  • Comprehensive: integrating great developer experience into the tools used to build their applications

After evaluating a set of options, we picked jsonnet (created by Googler Dave Cunningham) as a great starting point for this initiative. Bitnami and Box have been working independently with jsonnet to manage their own Kubernetes configurations. Each of these partners shares our mission of making Kubernetes accessible to as many developers as possible. We decided to join forces as a community and are combining the best parts of these projects into one, creating ksonnet.

ksonnet offers a configurable, typed templating system for the Kubernetes application developer. It also offers a proper IDE experience (we currently offer a VSCode extension and have a simple website for experimentation). You can start with a community provided template and quickly edit it to support your needs, parameterize out things that change from environment to environment, and tie it back into your favorite package management tool (like Helm).

We have been working closely with others in the Kubernetes ecosystem to ensure that the project is bigger than a single company:

  • Deis (now Microsoft) will be working on adding ksonnet support to Helm.
  • Bitnami has embraced ksonnet as a mechanism to support richer and more configurable solutions, both in providing applications packaged for Kubernetes and running their mission critical applications on their own clusters.
  • Box has been a long time supporter of the Kubernetes project and is actively working to introduce ksonnet into their production infrastructure.

“Helm has been very successful providing a simple experience for packaging, sharing, and deploying applications for Kubernetes. While writing manifests by hand can be brittle and error-prone at scale, I’m optimistic that with Heptio’s leadership, ksonnet can simplify writing Kubernetes manifests while developing a strong community of users and contributors.”
 — Gabe Monroy, Lead PM for Containers at Microsoft Azure and former CTO at Deis

“Kubernetes has established itself as the preferred way to run containers in production. ksonnet is an exciting new project that helps automate the modeling and management of complex Kubernetes deployments in a way that is easy to share and reuse. We are thrilled to be working with Heptio and the rest of the community to drive this project forward.”
 — Daniel Lopez, CEO and co-founder, Bitnami

“At Box, we’re using Kubernetes for a significant portion of our production infrastructure and have been reaping the many benefits of a containerized platform. We’re excited to be working with Heptio on ksonnet to deliver an even better developer experience for our engineers.” 
— Sam Ghods, Founder and VP Technology, Box

We hope you will like ksonnet and encourage you to try it out. You can visit the Github page or check out our interactive ksonnet playground.

via Hacker News