The fall of 2024 marked a significant milestone for Elastx with the production deployment of Cluster API (CAPI). By replacing Kubespray, CAPI has become the central tool for managing Kubernetes clusters. With CAPI, we can offer an even more efficient, automated, and reliable solution that not only simplifies the work for our technicians but also enhances the experience for our customers.
CAPI and efficient cluster management
CAPI (Cluster API) is a tool for managing Kubernetes clusters. It allows for the creation, updating, and scaling of clusters via an API, which in turn makes it easier and more efficient to utilize Kubernetes' built-in functionalities.
All clusters are managed with what is called a management cluster. By writing a manifest with the specifications for the cluster you want to create and submitting it to the management cluster, all management happens automatically. The management cluster is responsible for the entire lifecycle—from creation to upgrades, changes, and eventually, removal. For example, when the cluster needs to be updated, you simply adjust the manifest, and the management cluster takes care of implementing the changes.
Advantages of CAPI
CAPI automates and streamlines the process in a way that saves both time and resources. For example, an upgrade that used to take hours can now be done much faster, more reliably, and with less risk of disruptions. The vision behind this approach to managing clusters was that customers could eventually perform these operations themselves, which—combined with automated scaling and automated healing—provides an experience that can be almost entirely controlled by the user or their own automation.
An Elastx CaaS cluster typically consists of at least three control plane nodes and three worker nodes (one per availability zone). Larger clusters may have significantly more worker nodes. With our previous solution, when upgrading clusters, an old node was removed before a new one became available for load in the cluster. This meant that the customer temporarily lost a node, and the load on that node had to be moved, which could cause issues—especially in clusters with high utilization or loads configured with insufficient redundancy specificity. In the worst-case scenario, this could lead to brief outages for the customer. It’s important to note that with the configurations recommended by Elastx, it is technically possible to perform a completely disruption-free upgrade of a Kubernetes cluster without affecting the cluster’s capacity or operation. By using CAPI, upgrades become more secure.
An automated workflow
With CAPI, a single command is all it takes, and everything is handled in the background. For each new version of Kubernetes, new images are built. When it’s time for an upgrade, a new node with the latest version is created first. Once the node is fully built, it’s integrated into the existing cluster, the load is drained from the old node, and it is finally removed from the cluster. This process is repeated until the entire cluster is upgraded.
It is quick to create a node and make it available to the cluster. Once a node is added and receives load, it is considered upgraded and complete.
This method enhances both the stability and security of the cluster, as the number of active nodes never decreases during the upgrade. This is particularly beneficial for clusters with high workloads.
The benefits of automation
- Significantly shorter upgrade times
- Reduced risk of human error
- Lower risk of customer downtime
- Improved workflow for employees
- Future potential for customers to manage their own Kubernetes clusters
A brief overview of Cluster API
Cluster API is an open source project initiated by Google. It aims to introduce declarative, Kubernetes-like APIs for creating, configuring, and managing clusters. The API is compatible across multiple cloud providers, enabling hybrid Kubernetes deployment solutions, including Google Cloud.
Elastx contributes to the project by developing Floating IP functionality for CAPI in the context of OpenStack. To communicate with OpenStack, another API is used—CAPO.
Cluster API for OpenStack, abbreviated as CAPO, is a tool that simplifies operations for those using OpenStack as their hardware provider. It benefits both our internal development and the broader community, as we build tools that others can also use and benefit from.
Elastx and the future of development – Our cloud strategy
Elastx is a leading cloud platform for business-critical services and sensitive data. We are passionate about open source and automation, sustainability, and digital sovereignty.
We are a provider with big ambitions, and to continue delivering high-quality products and services in competition with larger players, we need to be innovative and automate repetitive tasks. Cluster API is a key component in realizing our goals, as it helps us offer stable solutions while avoiding time-consuming tasks and manual errors. Automation provides better customer experiences while also making things easier for our employees.
Elastx continues to drive forward-leaning creativity and contribute to the open source community, all with a focus on delivering added value to our customers and society.
Interested in enhancing your cloud strategy? Let’s find the right solution together!
Email us