Joe Beda and Craig McLuckie started Heptio in November 2016 with the basic idea of making Kubernetes friendly. Heptio is now aiming to deliver on that promise by helping to launch the Ksonnet effort that aims to simplify Kubernetes configurations.
Beda and McLuckie are well known in the Kubernertes community, as they were part of the team at Google that helped create Kubernetes in the first place. Kubernetes is an open-source container management and orchestration system that is now part of the Cloud Native Computing Foundation (CNCF), which itself is a Linux Foundation Collaborative Project.
"There are a lot of folks that are new to the community that find Kubernetes a bit inaccessible," McLuckie said. "We're looking to make Kubernetes more friendly to developers that would identify themselves as being traditional system engineers."
The first public effort Heptio is helping out with to make Kubernetes more friendly is called ksonnet. McLuckie said the intent of ksonnet is to provide an easier entry point for the YAML configuration syntax used in Kubernetes.
"We never intended for developers to directly interact with Kubernetes YAML, yet somehow over time it became the de facto interface for application developers to define the environment in which they wanted to run their applications," McLuckie said.
Other organizations including Box, Bitnami and Microsoft have also been working on efforts to improve the configuration experience. With ksonnet, Box, Bitanmi and Microsoft are now coming together in an open-source effort. Ksonnet introduces a new more accessible syntax for describing applications that run in a Kubernetes environment
Ksonnet Not a Replacement for Kubernetes YAML
Ksonnet is not a replacement for the Kubernetes YAML; rather, it can be thought of as an abstraction layer.
"The YAML schema is essentially the Kubernetes API written to disk," Beda told ServerWatch.
He added that as an API, the original intent was to be very explicit and machine readable and not human writable.
"What we're doing with ksonnet is we're taking jsonnet and essentially providing some useful patterns and starting points for using it with Kubernetes," Beda said.
The ksonnet effort is also providing some tooling, including a Visual Studio plugin, to help make it easier to get started with Kubernetes configuration.
Configuring container applications can be done in a number of different ways. Docker has a tool called Compose that is popular with developers building container applications. Beda said that in his view Docker Compose is focused on the developer experience when developing something on a single machine.
"When running containers in production, building a container and launching a container are not always as close as when you're in the development process," Beda said. "We think it actually makes sense to separate the idea of building the container image from launching and running the container image."
Compose is also optimized for Docker Swarm, which is an alternate approach to Kubernetes for container orchestration.
Making Kubernetes Suck Less
At the Kubecon EU event in March, Beda delivered a keynote address in which he said that "Kubernetes sucks." Beda's basic thesis was that Kubernetes, while powerful, can be difficult for some to use.
With ksonnet, Beda said the goal is to change that situation. "We're taking a really sober look at the user experience," Beda said. "Kubernetes has good bones, but I think there are some gaps that need to be bridged. Ksonnet is really us putting a down payment and our code where my mouth is and make Kubernetes suck less."
Sean Michael Kerner is a senior editor at ServerWatch and InternetNews.com. Follow him on Twitter @TechJournalist.