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.
In AKS, nodes with the same configurations are grouped together into node pools. Each pool contains the VMs that run your applications. In the previous tutorial, you created an Azure Linux Container Host cluster with a single node pool. To meet the varying compute or storage requirements of your applications, you can create extra user node pools.
In this tutorial, part two of five, you learn how to:
- Add an Azure Linux node pool.
- Check the status of your node pools.
The commands in this tutorial use the environment variables set in Tutorial 1: Create a cluster with the Azure Linux Container Host for AKS.
In later tutorials, you learn how to migrate nodes to Azure Linux and enable telemetry to monitor your clusters.
Prerequisites
- In the previous tutorial, you created and deployed an Azure Linux Container Host cluster. If you haven't done these steps and would like to follow along, start with Tutorial 1: Create a cluster with the Azure Linux Container Host for AKS.
- You need the latest version of Azure CLI. Run
az --versionto find the version. If you need to install or upgrade, see Install Azure CLI.
Set environment variables
Set the following environment variables to create unique resource names for each deployment. Replace the placeholder <your-node-pool-name> with a name of your choice. You can optionally append a random suffix to ensure uniqueness. The name of a node pool must start with a lowercase letter and can only contain alphanumeric characters. For Linux node pools the length must be between one and 12 characters.
# Set random suffix for uniqueness
export RANDOM_SUFFIX=$(openssl rand -hex 3)
# Set node pool name
export NODE_POOL_NAME="<your-node-pool-name>$RANDOM_SUFFIX"
Add an Azure Linux node pool
Add an Azure Linux node pool to your existing cluster using the az aks nodepool add command and specify --os-sku AzureLinux. The following example creates a node pool that runs three nodes in the cluster from Tutorial 1: Create a cluster with the Azure Linux Container Host for AKS.
az aks nodepool add \
--resource-group $RESOURCE_GROUP \
--cluster-name $CLUSTER_NAME \
--name $NODE_POOL_NAME \
--node-count 3 \
--os-sku AzureLinux
Example output:
{
"agentPoolType": "VirtualMachineScaleSets",
"count": 3,
"name": "alnodepool",
"osType": "Linux",
"provisioningState": "Succeeded",
"resourceGroup": "testAzureLinuxResourceGroupxxxxx",
"type": "Microsoft.ContainerService/managedClusters/agentPools"
}
Check the node pool status
Check the status of your node pools using the az aks nodepool list command.
az aks nodepool list --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME
Example output:
[
{
"agentPoolType": "VirtualMachineScaleSets",
"availabilityZones": null,
"count": 1,
"enableAutoScaling": false,
"enableEncryptionAtHost": false,
"enableFips": false,
"enableNodePublicIp": false,
"id": "/subscriptions/REDACTED/resourcegroups/myAKSResourceGroupxxxxx/providers/Microsoft.ContainerService/managedClusters/myAKSClusterxxxxx/agentPools/nodepoolx",
"maxPods": 110,
"mode": "System",
"name": "nodepoolx",
"nodeImageVersion": "AKSUbuntu-1804gen2containerd-2023.06.06",
"orchestratorVersion": "1.25.6",
"osDiskSizeGb": 128,
"osDiskType": "Managed",
"osSku": "Ubuntu",
"osType": "Linux",
"powerState": {
"code": "Running"
},
"provisioningState": "Succeeded",
"resourceGroup": "myAKSResourceGroupxxxxx",
"type": "Microsoft.ContainerService/managedClusters/agentPools",
"vmSize": "Standard_DS2_v2"
},
{
"agentPoolType": "VirtualMachineScaleSets",
"availabilityZones": null,
"count": 3,
"enableAutoScaling": false,
"enableEncryptionAtHost": false,
"enableFips": false,
"enableNodePublicIp": false,
"id": "/subscriptions/REDACTED/resourcegroups/myAKSResourceGroupxxxxx/providers/Microsoft.ContainerService/managedClusters/myAKSClusterxxxxx/agentPools/npxxxxxx",
"maxPods": 110,
"mode": "User",
"name": "npxxxxxx",
"nodeImageVersion": "AzureLinuxContainerHost-2023.06.06",
"orchestratorVersion": "1.25.6",
"osDiskSizeGb": 128,
"osDiskType": "Managed",
"osSku": "AzureLinux",
"osType": "Linux",
"powerState": {
"code": "Running"
},
"provisioningState": "Succeeded",
"resourceGroup": "myAKSResourceGroupxxxxx",
"type": "Microsoft.ContainerService/managedClusters/agentPools",
"vmSize": "Standard_DS2_v2"
}
]
Next step
In this tutorial, you added an Azure Linux node pool to your existing cluster. In the next tutorial, you learn how to migrate existing nodes to Azure Linux.