Hello Operator, automate my Kubernetes
CoreOS is introducing software to simplify cluster configuration
CoreOS, which makes a container-oriented version of Linux and the Tectonic platform for Kubernetes, on Thursday plans to introduce software called "Operators" to make it easier to configure and manage distributed applications.
Operators extend the Kubernetes API to specific applications, allowing multiple instances of those applications to be used in distributed clusters.
"What we're trying to do with Operators is to encode the operational knowledge people need to manage these distributed apps," said Brandon Philips, CTO of CoreOS, in a phone interview with The Register.
CoreOS is releasing two Operators, for etcd and Prometheus, as open source projects.
etcd is a distributed key value store for storing data across a cluster of machines. It's used by Kubernetes for service discovery and it stores cluster state and configuration data. The etcd Operator can be installed in a Kubernetes cluster with a single command, in order to allow the declarative management of etcd clusters.
Prometheus, an open-source monitoring and alerting toolkit, is also getting an Operator that enables the deployment and management of Kubernetes resources through Prometheus instances.
Creating a multiple instance deployment of etcd is more involved than scaling a web app, explained Philips. A user would have to install it on a machine or run it in a container, then put in specific configuration data to give the machine knowledge of the other members of the cluster.
"With the etcd Operator, the person wanting to run an etcd instance declares it, and Kubernetes and etcd take care of the rest," said Philips.
Philips said where it really gets interesting is in situations where an etcd instance fails. Were it statically deployed, he said, user intervention would be necessary. But if the Kubernetes system had been built with the etcd Operator, the cluster would see that one of its members was gone and would automatically adjust.
The Prometheus Operator provides a similar measure of automation.
"With the Prometheus Operator, I can say I want to have a dashboard for requests coming to the container," said Philips. "By deploying the Prometheus Operator and writing a few manifest lines, I can get a monitoring system relevant to the application I care about."
Philips expects that CoreOS will develop additional Operators for embedding domain-specific knowledge into software. ®