skuba Dives into Open Source Waters
(SUSE CaaS Platform architect Rafael Fernandez Lopez provided essential information for this post. Thanks, Rafa!)
SUSE CaaS Platform 4, our next major release is now in beta. It has major architectural improvements for our customers. In the process of planning and developing it, we took a close look at bootstrapping clusters and managing node membership, and we listened to our customers. One of the things we heard from many of them was that they wanted a way to deploy multiple clusters efficiently, by scripting the bootstrap process or by integrating it into other management tools they use.
To address this, we committed even more strongly to our upstream participation in Kubernetes development. Instead of building SUSE-specific tools as we had in earlier versions, we contributed the efforts of SUSE engineers to the upstream kubeadm component, helping it bridge the gap between its current state and the abilities we had previously implemented in the Velum web interface. Our bootstrap and node management strategy in version 4 is built on kubeadm.
But kubeadm is built to perform a well-defined set of operations on a local node. It does those tasks very well, and of course, the guiding principle of Linux design is for commands to do a small set of things very well. So we set out to write an additional command that would wrap kubeadm and perform all of the setup operations and cluster-aware tasks that would otherwise need to be done manually. That new command is skuba.
We’ll write more about skuba when SUSE CaaS Platform 4 is released. But at a high level, it checks to be sure that all the software needed to join a cluster is on the node, performs some updates that would otherwise require editing configuration files by hand, and orchestrates cluster-wide updates.
We’re proud to announce that we have reached a point in development where we can make the code repository for skuba at Github open to the public, for public review as well as contribution. It is available in the SUSE/skuba repository. (If you tried to access it on 17 July, apologies – we posted this blog a little early. The repo is accessible to the public now.)
We hope that many other Kubernetes users will find it a useful part of their administrative processes and a productivity accelerator for their operations and DevOps teams.
Of course, you can judge for yourself – try skuba, as well as the rest of SUSE CaaS Platform 4 and its new architecture and enhanced capabilities, by joining the beta program.