Hi!
In this article, I will share with you a new AKS feature: Cluster Extension.
Cluster extensions provides an Azure Resource Manager driven experience for installation and lifecycle management of services like Azure Machine Learning (ML) on an AKS cluster. This feature enables:
- Azure Resource Manager-based deployment of extensions, including at-scale deployments across AKS clusters.
- Lifecycle management of the extension (Update, Delete) from Azure Resource Manager.
Available extensions:
Extension | Description |
---|---|
Dapr | Dapr is a portable, event-driven runtime that makes it easy for any developer to build resilient, stateless and stateful applications that run on cloud and edge. |
Azure ML | Use Azure Kubernetes Service clusters to train, inference, and manage machine learning models in Azure Machine Learning. |
Flux (GitOps) | Use GitOps with Flux to manage cluster configuration and application deployment. |
To enable the feature (still in public preview):
# - Requirements az feature register --namespace "Microsoft.ContainerService" --name "AKS-ExtensionManager" az feature list -o table --query "[?contains(name, 'Microsoft.ContainerService/AKS-ExtensionManager')].{Name:name,State:properties.state}" az provider register --namespace Microsoft.KubernetesConfiguration az provider register --namespace Microsoft.ContainerService # - Update Azure CLI az extension update --name k8s-extension az extension add --name k8s-extension # - List all extensions installed on the cluster az k8s-extension list --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type managedClusters # - Azure Machine Learning extension instance on your AKS cluster az k8s-extension create --name aml-compute --extension-type Microsoft.AzureML.Kubernetes --scope cluster --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type managedClusters --configuration-settings enableInference=True allowInsecureConnections=True # - Delete extension instance az k8s-extension delete --name azureml --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type managedClusters
Maxime.