在 AKS 中,具有相同配置的节点将组合成节点池。 每个池都包含运行应用程序的 VM。 在上一教程中,你创建了具有单个节点池的 Azure Linux 容器主机群集。 若要满足应用程序的不同计算或存储要求,可以创建额外的用户节点池。
在本教程中,第 2/5 部分将介绍你如何:
- 添加 Azure Linux 节点池。
- 检查节点池的状态。
本教程中的命令使用 Tutorial 1 中设置的环境变量:使用适用于 AKS 的 Azure Linux 容器主机创建群集。
在后面的教程中,你会了解如何将节点迁移到 Azure Linux 并启用遥测来监视群集。
先决条件
- 在前面的教程中,你创建并部署了 Azure Linux 容器主机群集。 如果尚未完成这些步骤并想要继续操作,请从教程 1:使用适用于 AKS 的 Azure Linux 容器主机创建群集开始。
- 需要最新版本的 Azure CLI。 运行
az --version即可查找版本。 如果需要进行安装或升级,请参阅安装 Azure CLI。
设置环境变量。
设置以下环境变量,为每个部署创建唯一的资源名称。 将占位符 <your-node-pool-name> 替换为所选的名称。 可以选择追加随机后缀以确保唯一性。 节点池的名称必须以小写字母开头,且只能包含字母数字字符。 对于 Linux 节点池,长度必须介于 1 到 12 个字符之间。
# 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"
添加 Azure Linux 节点池
使用 az aks nodepool add 命令将 Azure Linux 节点池添加到现有群集,并指定 --os-sku AzureLinux。 以下示例将创建一个节点池,使其在教程 1:使用适用于 AKS 的 Azure Linux 容器主机创建群集中创建的群集中运行三个节点。
az aks nodepool add \
--resource-group $RESOURCE_GROUP \
--cluster-name $CLUSTER_NAME \
--name $NODE_POOL_NAME \
--node-count 3 \
--os-sku AzureLinux
示例输出:
{
"agentPoolType": "VirtualMachineScaleSets",
"count": 3,
"name": "alnodepool",
"osType": "Linux",
"provisioningState": "Succeeded",
"resourceGroup": "testAzureLinuxResourceGroupxxxxx",
"type": "Microsoft.ContainerService/managedClusters/agentPools"
}
检查节点池状态
使用 az aks nodepool list 命令检查节点池的状态。
az aks nodepool list --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME
示例输出:
[
{
"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"
}
]
后续步骤
在本教程中,你已将 Azure Linux 节点池添加到现有群集。 下一教程介绍如何将现有节点迁移到 Azure Linux。