Microsoft CAPZ Drives More Kubernetes Control
Microsoft launched a more complete Kubernetes tool to manage clusters on its Azure infrastructure-as-a-service (IaaS) that its open source team recommends as a replacement for the existing AKS Engine offering. The Cluster API Provider for Azure (CAPZ) also takes a step back from what has been a more abstracted view for managing container clusters on public cloud infrastructure.
Craig Peters, principal program manager for Azure container compute at Microsoft, explained in an email to SDxCentral that CAPZ is a tool that can be used specifically on and is complementary to infrastructure like Azure Kubernetes Service (AKS), Azure, and Azure Arc.
It’s built on the open source Cluster API (CAPI) Kubernetes sub-project, which is designed to provide declarative APIs and tooling to simplify provisioning, upgrading, and operating of multiple Kubernetes clusters. CAPZ takes that base and works through the Azure Resource Manager (ARM) to provide greater control for self-managed Kubernetes clusters on Azure and Azure-managed Kubernetes clusters.
“CAPZ enables users to use CAPI to create and manage either self-managed clusters where the user owns the control plane, uptime, and maintenance entirely themselves,” Peters wrote. He added that CAPZ is a tool that can be used specifically on Azure infrastructure through ARM to manage Kubernetes clusters through the Cluster API.
Basically, CAPZ provides for a greater level of management over Kubernetes clusters that are running in one of these managed environments. This allows it to bridge the gap between a user relying exclusively on their managed host for that control or attempting to manage Kubernetes on their own.
In an accompanying blog post, Peters explained that while AKS remains a “mature, scalable, secure” and fully Microsoft-based platform, it does not have the depth of control that some developers require.
“Some need functionality that is not available in AKS yet or might never be because they require user access to the control plane,” he wrote, noting that this need could be tied to regulatory or compliance issues, or even just a developer needing more control over Kubernetes features.
CAPZ Caps AKS Engine
That greater flexibility is also behind Microsoft’s move toward recommending CAPZ over its legacy AKS Engine product. AKS Engine is designed as a templating tool for turning cluster models into ARM templates to manage Kubernetes clusters but lacks flexibility as it can only create one cluster at a time, which limits scalability, and only on Azure.
“AKS Engine has been the workhorse for teams who need to operate their own clusters on Azure,” Peters explained. “The ARM template workflow is natural for some Azure-focused teams but doesn’t provide the power and flexibility of CAPI.”
However, Peters’ in the blog post noted that the “design falls short of empowering ongoing operational needs such as scaling, in-place upgrading, and extension management. And it isn’t useful for users who are focused on multi-cloud scenarios like managing fleets of Kubernetes clusters across cloud infrastructures that do not support ARM.”
As such, his team is suggesting that AKS Engine users look at CAPZ as it provides stronger support for managing the cluster lifecycle and that it will be the focus for all new investments from that team.