OpenStack Gets ‘Self-Healing’ with CoreOS’ New Kubernetes-based Stackanetes
CoreOS wants to help make OpenStack deployments much easier and durable, with the help of Kubernetes.
The company has started a new open source project Stackanetes, software that packages a full OpenStack package into set containers so that it can be rolled out across multiple bare-metal servers, and managed with Kubernetes.
“Kubernetes is all about application management, and OpenStack is just an application,” said Alex Polvi, CEO of CoreOS. The company unveiled the software at the OpenStack Summit, taking place in Austin, Texas this week. “Kubernetes and containers make it easy to maintain software, so if you think of OpenStack as just a piece of software, you can use containers in the system to actually manage the software.”
OpenStack has been criticized for being difficult to deploy and maintain, and has no autonomic, or “self-healing” capabilities to keep running when one of its management components stops working: If one machine dies, then the administrator must step in to restart the workloads on that were on the server to another machine. And most approaches to industrializing the rollouts and upgrades of OpenStack are built around Chef, Puppet and other configuration management tools, and require a considerable amount of setup.
Kubernetes is software for deploying and managing large numbers of containers, so would be a good fit for this job, Polvi reasoned. Stackanetes itself is all the code needed to package OpenStack into containers, as well as the processes for deploying them. Whenever a new version of an OpenStack service needs to be deployed, Stackanetes replace the old containers with the newer versions.
CoreOS has a lot of experience with the Google-born Kubernetes, offering a commercially supported distribution of the cluster orchestrator, called Tectonic. When used with Tectonic, Stackanetes provides the company’s Distributed Trusted Computing framework, delivering security from the hardware to the application layer.
Each OpenStack component — such as Nova, Glance, Horizon, or Neutron — are packaged as Kubernetes’ pods. Each pod can have one or multiple containers, which collectively package the component into a single working unit.
If a service stops working, Kubernetes can detect it and replace it with another copy. Today, many OpenStack deployments will have multiple copies of a component running, so if one copy dies, one of the others can take its place.
Using Kubernetes as a base can also allow an organization to mix OpenStack and other workloads on a single set of servers.
Kubernetes can also offer self-healing capabilities to OpenStack. Through a feature called replication controller, Kubernetes provides the ability for administrators to set a rule that states if one copy of a pod dies, Kubernetes should replace it with another. If a node dies for some reason, Kubernetes has the capabilities to spin up another copy. In a demonstration, Polvi showed how, after a killing a pod that was running the OpenStack Keystone authentication service, Kubernetes almost instantly redeployed another identical Keystone pod.
CoreOS will maintain Stackanetes against the upstream OpenStack and Kubernetes projects so that it will support the latest canonical versions of each software package. The company is also working with the Kolla project to ensure that the Stackanetes can hook into CI/CD (continuous integration/continuous deployment) workflows that produce ready-to-run containers of OpenStack.
Stackanetes also sets the stage for automated security remediation, as software can be scanned for vulnerabilities, updated and then deployed automatically. Beyond enterprise use, Stackanetes could be useful to OpenStack distributors, who could use it to package their distributions.
The company hasn’t disclosed commercialization plans for Stackanetes yet. CoreOS is not the only company testing the waters for autonomic computing; Cloudsoft, building off the Apache Brooklyn project, also offers the ability to make systems “self-healing.” Polvi sees this approach of using Kubernetes as a package and deployment manager for other software as well.
Cloudsoft and CoreOS are sponsors of The New Stack.
Feature image: Google product manager Craig McLuckie (L) and Alex Polvi introducing Stackanetes at the Open Stack Summit, Austin Texas, 2016.