We are excited to announce the public preview of two new capabilities being enabled on AKS – Dapr and Azure Machine Learning. These capabilities can be enabled on AKS clusters through a feature called cluster extensions.
Cluster extensions provide an at-scale mechanism to deploy, update and manage the lifecycle of services represented by extension instances running on your AKS clusters. With this capability, management of these services can be done through tools like the Azure CLI and the Azure SDKs. Let's use the rest of the blog to walk you through what each of these new capabilities enable.
What are AKS cluster extensions?
Cluster extensions provide an Azure Resource Manager (ARM) driven experience for installation and lifecycle management of Azure services and supported open-source projects on AKS clusters. Dapr and Azure ML are the first set of extension offerings to be deployed and managed through cluster extension on AKS. Cluster extensions provide users with a unified experience to install, update, and upgrade supported services. Users can install a specific version and upgrade supported service versions through manual upgrade or auto upgrade options.
Cluster extensions expose a set of standard operations through the Azure CLI. Refer to the Azure CLI documentation and the AKS cluster extensions documentation for more details.
# Install
az k8s-extension create
# Update
az k8s-extension update
# Delete
az k8s-extension delete
Dapr cluster extension
Dapr is a portable, event-driven runtime that makes it easy for any developer to build resilient, stateless, and stateful applications. These apps can run on the cloud and edge embracing the diversity of languages and developer frameworks. Leveraging the benefits of a sidecar architecture, Dapr helps you tackle the challenges that come with building microservices and keeps your code platform agnostic. In particular, it helps with solving problems around services calling other services reliably and securely, building event-driven apps with pub-sub, and building applications that are portable across multiple cloud services and hosts (e.g., Kubernetes vs. a VM).
By using the Dapr cluster extension for AKS to provision Dapr, you eliminate the overhead of having to download Dapr tooling and manually installing the runtime on your cluster. Additionally, the extension offers support for all native Dapr configuration capabilities through command-line parameters.
The following command deploys the Dapr extension on an AKS cluster:
az k8s-extension create --extension-type Microsoft.Dapr \
--cluster-type managedClusters \
--cluster-name myAKSCluster \
--resource-group myResourceGroup \
--name myDaprExtension \
--version X.X.X.X
You have the option of allowing Dapr to auto-update its minor version by specifying the --auto-upgrade-minor-version parameter and setting the value to true:
--auto-upgrade-minor-version true
For more detailed instructions, please refer to the Dapr cluster extension for AKS documentation.
Azure Machine Learning cluster extension
The Azure ML cluster extension for AKS is a machine learning operator that is deployed and managed on AKS using the cluster extension CLI. The Azure ML operator configures and attaches AKS clusters to Azure Machine Learning workspaces in order to train and manage machine learning models. Upon deploying the Azure ML cluster extension on AKS, the cluster can be attached as compute type to run training and inference models in your ML workspace.
The design for the Azure ML extension helps IT operators leverage native Kubernetes concepts such as namespaces, node selectors, and resources requests/limits for ML compute utilization and optimization. By letting the IT operator manage the Azure ML compute setup, the Azure ML extension creates a seamless experience for data science professionals who do not need to learn or use Kubernetes directly.
Azure Kubernetes Service clusters enables enterprises to run highly available ML and deep learning models with GPU compute.
The following command deploys the Azure ML extension on an AKS cluster:
az k8s-extension create --extension-type Microsoft.AzureML.Kubernetes \
--cluster-type managedClusters \
--cluster-name myAKSCluster \
--resource-group myResourceGroup \
--name amlarc-compute \
--configuration-settings enableTraining=True \
--scope cluster
For more detailed instruction, please refer to the Azure ML cluster extension for AKS documentation.
Conclusion
The extensions above allow users to use leading Azure service like machine learning and event driven open-source projects like Dapr on AKS through an easy deployment model.
Learn more about Dapr and Azure Machine Learning.
Learn more about the AKS roadmap