Catégorie : Kubernetes (AKS)

AKS | Subnet per node pool


A workload may require splitting a cluster’s nodes into separate pools for logical isolation. This isolation can be supported with separate subnets dedicated to each node pool in the cluster. This can address requirements such as having non-contiguous virtual network address space to split across node pools.

To create a node pool with a dedicated subnet, pass the subnet resource ID as an additional parameter when creating a node pool.

az aks nodepool add \
    --resource-group myResourceGroup \
    --cluster-name myAKSCluster \
    --name mynodepool \
    --node-count 3 \
    --vnet-subnet-id <YOUR_SUBNET_RESOURCE_ID>


AKS | Cluster Extension


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:

DaprDapr 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 MLUse 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


AKS | Message of the Day


In this article, I will show you how you can replace the Message of the Day on Linux nodes at cluster creation or node pool creation. When you first log in to a terminal on a Unix system, Linux included, you are usually greeted by that system’s message of the day(MOTD). The message of the day, gives you important information about the system or just messages from the system admin.

Cluster creation with a custom Message of the Day:

az aks create --cluster-name myAKSCluster --resource-group myResourceGroup --message-of-the-day ./newMOTD.txt

Nodepool creation with a custom Message of the Day:

az aks nodepool add --name mynodepool1 --cluster-name myAKSCluster --resource-group myResourceGroup --message-of-the-day ./newMOTD.txt