Руководство. Добавление пула узлов Linux Azure в существующий кластер Azure Kubernetes Service (AKS)

В AKS узлы с той же конфигурацией группируются в пулы узлов. Каждый пул содержит виртуальные машины, запускающие приложения. В предыдущем руководстве вы создали кластер узла контейнеров Linux Azure с одним пулом узлов. Для удовлетворения различных требований к вычислительным ресурсам или хранилищу приложений можно создать дополнительные пулы узлов пользователей.

В этом руководстве, часть 2 из пяти, вы узнаете, как:

  • Добавьте пул узлов Linux Azure.
  • Проверьте состояние пулов узлов.

Команды в этом руководстве используют переменные среды, заданные в Руководстве 1. Создание кластера с помощью Azure Linux Container Host для AKS.

В последующих руководствах вы узнаете, как перенести узлы в Azure Linux и включить телеметрию для мониторинга кластеров.

Необходимые условия

  • В предыдущем руководстве вы создали и развернули кластер узла контейнеров Azure Linux. Если вы не выполнили эти действия и хотите выполнить эти действия, начните с руководства 1. Создание кластера с узлом контейнеров Azure для AKS.
  • Вам нужна последняя версия Azure CLI. Чтобы узнать версию, выполните команду az --version. Если необходимо установить или обновить, см. раздел Install Azure CLI.

Настройка переменных среды

Задайте следующие переменные среды, чтобы создать уникальные имена ресурсов для каждого развертывания. Замените заполнитель <your-node-pool-name> на имя по вашему выбору. При необходимости можно добавить случайный суффикс, чтобы обеспечить уникальность. Имя пула узлов должно начинаться с буквы в нижнем регистре и может содержать только буквенно-цифровые символы. Для пулов узлов Linux длина должна составлять от одного до 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"

Добавление пула узлов Linux Azure

Добавьте пул узлов Linux Azure в существующий кластер с помощью команды az aks nodepool add и укажите --os-sku AzureLinux. В следующем примере создается пул узлов, который запускает три узла в кластере, созданном в учебнике 1. Создание кластера с Azure Linux Container Host для 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"
  }
]

Следующий шаг

В этом руководстве вы добавили пул узлов Linux Azure в существующий кластер. В следующем руководстве описано, как перенести существующие узлы в Azure Linux.