教學:在你現有的 Azure Kubernetes Service (AKS) 叢集中新增一個 Azure Linux 節點池

在 AKS 中,具有相同設定的節點會組成節點集區。 每個集區都包含執行應用程式的 VM。 在先前的教學課程中,您已建立具有單一節點集區的 Azure Linux 容器主機叢集。 為了滿足應用程式不同的運算或儲存需求,你可以建立額外的使用者節點池。

在這個教學中,五部分中的第二部分,你將學習如何:

  • 新增 Azure Linux 節點集區。
  • 檢查節點集區的狀態。

本教學課程中的命令會使用在 教學 1:使用適用於 AKS 的 Azure Linux 容器主機建立叢集 中設定的環境變數。

在稍後的教學課程中,您會了解如何將節點移轉至 Azure Linux,並啟用遙測來監視您的叢集。

先決條件

設定環境變數

設定以下環境變數,為每個部署建立獨特的資源名稱。 用你選擇的名字取代佔位符 <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 指令,並指定 --os-sku AzureLinux,將 Azure Linux 節點池加入現有叢集。 以下範例建立一個節點池,在叢集中運行三個節點,教學1:建立包含 Azure Linux 容器主機的 AKS 叢集。

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。