![]() |
VOOZH | about |
We’re so glad you’re here. You can expect all the best TNS content to arrive Monday through Friday to keep you on top of the news and at the top of your game.
Check your inbox for a confirmation email where you can adjust your preferences and even join additional groups.
Follow TNS on your favorite social media networks.
Become a TNS follower on LinkedIn.
Check out the latest featured and trending stories while you wait for your first TNS newsletter.
Here at Sidero Labs, we love Cluster API (CAPI). We’ve built a whole bunch of stuff around it. I’m talking about multiple CAPI providers. Not to mention testing Talos Linux with CAPI several times a day. We’re fans. But in this post, we’ll talk about where we think some issues lie and why we chose not to use CAPI for Omni, our new SaaS for Kubernetes deployments on bare metal and edge.
First, what is Cluster API? According to the docs, “Cluster API is a Kubernetes sub-project focused on providing declarative APIs and tooling to simplify provisioning, upgrading, and operating multiple Kubernetes clusters.” This essentially means that Cluster API gives people a way to create and manage Kubernetes clusters that is similar to what they use when managing their application workloads in Kubernetes. This gives a really nice experience to folks who are already Kubernetes pros to manage things in a way they love.
There are cluster API providers for all the cloud providers, VMware, and for bare metal — Sidero Metal is our own CAPI provider for bare metal that does full management of servers (powering them on/off when needed, adding them to clusters, removing and wiping machines, etc). This, according to the CAPI docs, “enables consistent and repeatable cluster deployments across a wide variety of infrastructure environments.”
Sounds dope, so what’s the issue?
We are lucky enough here at Sidero Labs to have a bunch of passionate users. We have a sizable amount of enterprises running Talos Linux at a huge scale, with hundreds of thousands of cores in their clusters. We also have a lot of SMBs running a few small clusters of just a few nodes, and also many users running home labs. These different use cases result in a bimodal distribution of people’s appetite for something like CAPI. The teams that are running hundreds of bare metal clusters as an internal service like the power that CAPI provides. The smaller teams don’t get the hype. Here are a few reasons why.
All of this leads us to recommend the average user not use CAPI, despite the fact we develop a CAPI provider unless they are deploying many clusters with hundreds of servers.
We started building Omni about nine months ago. The goal of Omni is to provide the absolute smoothest experience for creating Kubernetes clusters and managing them over time. This includes a whole slew of awesome features like easily joining nodes, handling upgrades, user management for clusters that integrates with enterprise identity providers, etc. As one might suspect, we had a lot of discussions about how to architect this system and whether we would base it on Cluster API. The eventual decision was that no, we wouldn’t. The problems mentioned above are some of the reasons why not, along with some other goals for Omni that CAPI just could not meet:
So all of this is to say that given our design goals, Cluster API was not the right fit for Omni.
“What does this mean for Sidero Metal?” one might ask. And the answer would be a resounding NOTHING! Sidero Labs will still very much be part of the CAPI community and all of our providers will continue to be maintained and improved. While we think there are limitations involving CAPI, as you can see from the points above, CAPI is still good choice for particular use cases — large-scale provisioning of many clusters, without the need for hybrid clusters. For those users, we will continue to recommend that they use and enjoy it.
But for Omni, well, we’re going to continue building it without CAPI, because it makes for a better experience for more users. In fact, we expect Omni will soon be a better experience than CAPI even for those users running hundreds of clusters and servers. Omni makes it simple to mix workers from any platform (unlike CAPI); is (like CAPI) declaratively driven; brings SaaS simplicity, and will soon support IPMI for bare metal, all wrapped up in an elegant UI (and API). This is a platform that is decidedly kick-ass and will simplify the life of almost all users. All the while encouraging them to stop worrying so much about operating clusters and just run their workloads!
If you want to learn more about Omni or CAPI, you are welcome to attend our free virtual user conference, TalosCon on March 21. Nokia will be discussing “Scaling a Private Cloud Managed Kubernetes Service to 100k+ Cores,” using CAPI, Talos Linux and Sidero Metal. We’ll also have several talks about Omni and Kubernetes at the edge.
Hope to see you there!