Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
As a cloud provider, Azure works closely with the Kubernetes community to support our infrastructure on behalf of users.
Previously, cloud provider integration with Kubernetes was in-tree, where any changes to cloud specific features would follow the standard Kubernetes release cycle. When issues were fixed or enhancements were rolled out, they would need to be within the Kubernetes community's release cycle.
The Kubernetes community is now adopting an out-of-tree model, where cloud providers control releases independently of the core Kubernetes release schedule through the cloud-provider-azure component. As part of this cloud-provider-azure component, we're also introducing a cloud-node-manager component, which is a component of the Kubernetes node lifecycle controller. A DaemonSet in the kube-system namespace deploys this component.
The Cloud Storage Interface (CSI) drivers are included by default in Kubernetes version 1.21 and higher.
Note
When you enable the Cloud Controller Manager (preview) on your AKS cluster, it also enables the out-of-tree CSI drivers.
You must have the following resources installed:
- The Azure CLI. For more information, see Install the Azure CLI.
- Kubernetes version 1.20.x or higher.
Important
AKS preview features are available on a self-service, opt-in basis. Previews are provided "as is" and "as available," and they're excluded from the service-level agreements and limited warranty. AKS previews are partially covered by customer support on a best-effort basis. As such, these features aren't meant for production use. For more information, see the following support articles:
Install the aks-preview extension using the
az extension add
command.az extension add --name aks-preview
Update to the latest version of the extension released using the
az extension update
command.az extension update --name aks-preview
Register the
EnableCloudControllerManager
feature flag using theaz feature register
command.az feature register --namespace "Microsoft.ContainerService" --name "EnableCloudControllerManager"
It takes a few minutes for the status to show Registered.
Verify the registration status using the
az feature show
command.az feature show --namespace "Microsoft.ContainerService" --name "EnableCloudControllerManager"
When the status reflects Registered, refresh the registration of the Microsoft.ContainerService resource provider using the
az provider register
command.az provider register --namespace Microsoft.ContainerService
Create a new AKS cluster with Cloud Controller Manager using the
az aks create
command and include the parameterEnableCloudControllerManager=True
as an--aks-custom-header
.az aks create -n aks -g myResourceGroup --aks-custom-headers EnableCloudControllerManager=True
Upgrade an existing AKS cluster with Cloud Controller Manager using the
az aks upgrade
command and include the parameterEnableCloudControllerManager=True
as an--aks-custom-header
.az aks upgrade -n aks -g myResourceGroup -k <version> --aks-custom-headers EnableCloudControllerManager=True
Verify the component deployment using the following
kubectl get po
command.kubectl get po -n kube-system | grep cloud-node-manager
- For more information on CSI drivers, and the default behavior for Kubernetes versions higher than 1.21, review the CSI documentation.
- For more information on the Kubernetes community direction regarding out-of-tree providers, see the community blog post.