教程:将 Azure Linux 节点池添加到现有 AKS 群集

在 AKS 中,具有相同配置的节点将组合成节点池。 每个池都包含运行应用程序的 VM。 在上一教程中,你创建了具有单个节点池的 Azure Linux 容器主机群集。 为了满足应用程序的不同计算或存储要求,可以创建其他用户节点池。

在本教程的第二部分(共五部分)中,你会了解如何:

  • 添加 Azure Linux 节点池。
  • 检查节点池的状态。

在后面的教程中,你会了解如何将节点迁移到 Azure Linux 并启用遥测来监视群集。

先决条件

添加 Azure Linux 节点池

若要将 Azure Linux 节点池添加到现有群集中,请使用 az aks nodepool add 命令并指定 --os-sku AzureLinux。 以下示例创建名为 ALnodepool 的节点池,该池在 testAzureLinuxResourceGroup 资源组的 testAzureLinuxCluster 群集中运行三个节点。 环境变量在下方声明,并将随机后缀追加到资源组和群集名称,以确保唯一性。

export RANDOM_SUFFIX=$(openssl rand -hex 3)
export NODEPOOL_NAME="np$RANDOM_SUFFIX"

az aks nodepool add \
    --resource-group $RESOURCE_GROUP \
    --cluster-name $CLUSTER_NAME \
    --name $NODEPOOL_NAME \
    --node-count 3 \
    --os-sku AzureLinux
{
  "agentPoolType": "VirtualMachineScaleSets",
  "count": 3,
  "name": "alnodepool",
  "osType": "Linux",
  "provisioningState": "Succeeded",
  "resourceGroup": "testAzureLinuxResourceGroupxxxxx",
  "type": "Microsoft.ContainerService/managedClusters/agentPools"
}

注意

节点池的名称必须以小写字母开头,且只能包含字母数字字符。 对于 Linux 节点池,长度必须介于 1 到 12 个字符之间。

检查节点池状态

若要查看节点池的状态,请使用 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 节点池。
  • 检查节点池的状态。

下一教程介绍如何将现有节点迁移到 Azure Linux。