Создание пулов узлов для кластера в Azure Kubernetes Service (AKS)

В этой статье показано, как создать один или несколько пулов узлов в кластере AKS.

Примечание.

Эта функция обеспечивает больший контроль над созданием и управлением несколькими пулами узлов и требует отдельных команд для операций создания и обновления и удаления (CRUD). Ранее операции кластера через az aks create или az aks update, использующие API managedCluster, были единственным вариантом изменения плоскости управления и одного пула узлов. Эта функция предоставляет отдельный набор операций для пулов агентов через API agentPool и требует использования az aks nodepool набора команд для выполнения операций в отдельном пуле узлов.

Внимание

Начиная с 30 ноября 2025 Azure Kubernetes Service (AKS) больше не поддерживает или не предоставляет обновления системы безопасности для Azure Linux 2.0. Образ узла Azure Linux 2.0 заморожен в выпуске 202512.06.0. Начиная с 31 марта 2026 г. образы узлов будут удалены, и вы не сможете масштабировать пулы узлов. Миграция на поддерживаемую версию Azure Linux путем обновления пулов узлов до поддерживаемой версии Kubernetes или путем перехода на osSku AzureLinux3. Дополнительные сведения см. в проблеме на GitHub о выходе из эксплуатации и в объявлении о прекращении обновлений Azure. Чтобы оставаться в курсе объявлений и обновлений, следуйте заметкам о выпуске AKS.

Предпосылки

  • У вас должна быть установлена и настроена Azure CLI версии 2.87.0 или более поздней. Чтобы узнать версию, выполните команду az --version. Если необходимо установить или обновить, см. раздел Install Azure CLI.
  • Чтобы развернуть шаблон ARM, необходимо иметь права на запись к ресурсам, которые вы разворачиваете, и доступ ко всем операциям с типом ресурса Microsoft.Resources/deployments. Например, для развертывания виртуальной машины требуется разрешение Microsoft.Compute/virtualMachines/write и Microsoft.Resources/deployments/*. Список ролей и разрешений см. в разделе Azure встроенные роли.
  • Просмотрите следующие требования для каждого параметра:
    • osType: тип операционной системы. По умолчанию используется Linux.
    • osSKU: указывает номер SKU ОС, используемый пулом агентов.
    • count: количество агентов (виртуальных машин) для размещения контейнеров Docker. Допустимые значения должны находиться в диапазоне от 0 до 1000 (включительно) для пулов пользователей и в диапазоне от 1 до 1000 (включительно) для системных пулов. Значение по умолчанию — 1.
  • После развертывания кластера с помощью шаблона ARM можно использовать Azure CLI или Azure PowerShell для подключения к кластеру и развертывания примера приложения.

Ограничения

Следующие ограничения применяются при создании кластеров AKS, поддерживающих несколько пулов узлов:

  • Вы можете удалить пул системных узлов, если у вас есть другой системный пул узлов, который будет использоваться в кластере AKS. В противном случае невозможно удалить пул системных узлов.
  • Системные пулы должны содержать не менее двух узлов, а пулы пользовательских узлов могут содержать ноль или несколько узлов.
  • Если вы создаете кластер с одним пулом узлов, тип ОС должен быть Linux. Номер SKU ОС может быть любым вариантом Linux, например Ubuntu, AzureContainerLinuxили AzureLinux. Невозможно создать кластер с одним пулом узлов Windows. Если вы хотите запустить контейнеры Windows, необходимо добавить пул узлов Windows в кластер после его создания с пулом системных узлов Linux.
  • Кластер AKS должен использовать подсистему балансировки нагрузки SKU уровня "Стандартный" для использования нескольких пулов узлов. Эта функция не поддерживается с подсистемами балансировки нагрузки SKU уровня "Базовый".
  • Кластер AKS должен использовать Масштабируемые наборы виртуальных машин для узлов.
  • Имя пула узлов может содержать только строчные буквенно-цифровые символы и начинаться с строчной буквы.
    • Для пулов узлов Linux длина должна составлять от 1 до 12 символов.
    • Для пулов узлов Windows длина должна составлять от 1 до 6 символов.
  • Все пулы узлов должны находиться в одной виртуальной сети.
  • Размер виртуальной машины для пула узлов нельзя изменить после создания.
  • При создании нескольких пулов узлов во время создания кластера версии Kubernetes для пулов узлов должны соответствовать версии, заданной для плоскости управления. После подготовки кластера можно вносить обновления с помощью операций над каждым пулом узлов.

Внимание

Если вы используете Azure Container Linux (ACL) в AKS, ознакомьтесь со следующими рекомендациями и ограничениями:

Создание специализированных пулов узлов

Сведения о создании специализированных пулов узлов см. в следующих статьях:

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

Задайте следующие переменные среды в оболочке, чтобы упростить команды в этой статье. Вы можете переименовать значения на предпочитаемые вами имена.

export RESOURCE_GROUP_NAME="my-aks-rg"
export LOCATION="eastus"
export CLUSTER_NAME="my-aks-cluster"
export NODE_POOL_NAME="mynodepool"

Создайте группу ресурсов

Создайте группу ресурсов Azure с помощью команды az group create.

az group create --name $RESOURCE_GROUP_NAME --location $LOCATION

Создание кластера AKS с одним пулом узлов с помощью Azure CLI

Если в кластере AKS требуется только один пул узлов, можно размещать поды приложений на системных пулах узлов. При запуске одного пула системных узлов для кластера AKS в рабочей среде мы рекомендуем использовать по крайней мере три узла для пула узлов. Если один узел выходит из строя, резервирование нарушается. Вы можете снизить этот риск, увеличив количество узлов в пуле системных узлов.

  1. Создайте кластер с одним пулом узлов Ubuntu с помощью az aks create команды. На этом шаге указываются два узла в одном пуле узлов.

    az aks create \
        --resource-group $RESOURCE_GROUP_NAME \
        --name $CLUSTER_NAME \
        --vm-set-type VirtualMachineScaleSets \
        --node-count 2 \
        --os-sku Ubuntu \
        --location $LOCATION \
        --load-balancer-sku standard \
        --generate-ssh-keys
    

    Создание кластера занимает несколько минут.

  2. Когда кластер будет готов, получите учетные данные кластера с помощью az aks get-credentials команды.

    az aks get-credentials --resource-group $RESOURCE_GROUP_NAME --name $CLUSTER_NAME
    

Добавление второго пула узлов с помощью Azure CLI

Кластер, созданный в предыдущем разделе , имеет один пул узлов. В этом разделе мы добавим второй пул узлов в кластер. Этот второй пул узлов может иметь тип ОС Linux с номером SKU ОС Ubuntu или AzureLinux или типом ОС Windows.

Примечание.

Если вы хотите добавить в ваш кластер AKS пул узлов, который использует эфемерные ОС-диски, вы можете задать флаг --node-osdisk-type на Ephemeral при выполнении команды az aks nodepool add.

С помощью «Эфемерной ОС» можно развертывать виртуальные машины и образы экземпляров до размера кэша виртуальной машины. Конфигурация диска ОС узла по умолчанию в AKS использует 128 ГБ, что означает, что вам нужен размер виртуальной машины с кэшем размером более 128 ГБ. По умолчанию Standard_DS2_v2 имеется размер кэша размером 86 ГБ, который недостаточно велик. SKU виртуальной машины Standard_DS3_v2 имеет размер кэша 172 ГБ, что достаточно велико. Вы также можете уменьшить размер диска ОС по умолчанию с помощью --node-osdisk-size, но помните, что минимальный размер образов AKS составляет 30 ГБ.

Если вы хотите создать пулы узлов с сетевыми дисками ОС, вы можете задать флаг --node-osdisk-type на значение Managed при выполнении команды az aks nodepool add.

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

Создайте пул узлов с помощью az aks nodepool add команды. В следующем примере создается пул узлов с номером LinuxUbuntu SKU ОС, на котором выполняются три узла. Если номер SKU ОС не указан, по умолчанию используется AKS Ubuntu.

az aks nodepool add \
    --resource-group $RESOURCE_GROUP_NAME \
    --cluster-name $CLUSTER_NAME \
    --name $NODE_POOL_NAME \
    --node-vm-size Standard_DS2_v2 \
    --os-type Linux \
    --os-sku Ubuntu \
    --node-count 3

Создание пула узлов занимает несколько минут.

Добавление пула узлов Windows Server

Создание пула узлов Windows Server 2025

Создайте пул узлов с помощью az aks nodepool add команды. В следующем примере создается пул узлов с номером WindowsWindows2025 SKU ОС, на котором выполняются три узла.

Для получения дополнительной информации об операционной системе Windows см. в рекомендациях по Windows.

az aks nodepool add \
    --resource-group $RESOURCE_GROUP_NAME \
    --cluster-name $CLUSTER_NAME \
    --name $NODE_POOL_NAME \
    --node-vm-size Standard_DS2_v2 \
    --os-type Windows \
    --os-sku Windows2025 \
    --node-count 3

Проверьте состояние ваших пулов узлов

Проверьте состояние пулов узлов с помощью az aks nodepool list команды и укажите имя группы ресурсов и кластера.

az aks nodepool list --resource-group $RESOURCE_GROUP_NAME --cluster-name $CLUSTER_NAME

Создание кластера AKS с одним пулом узлов с помощью шаблона ARM

Если в кластере AKS требуется только один пул узлов, можно размещать поды приложений на системных пулах узлов. При запуске одного пула системных узлов для кластера AKS в рабочей среде мы рекомендуем использовать по крайней мере три узла для пула узлов. Если один узел выходит из строя, резервирование нарушается. Вы можете снизить этот риск, увеличив количество узлов в пуле системных узлов.

Создайте ресурс Microsoft.ContainerService/managedClusters

Создайте ресурс Microsoft.ContainerService/managedClusters, добавив this JSON в шаблон.

  • Создайте один пул узлов Ubuntu в кластере AKS, внося следующие изменения в шаблон ARM:

      "properties": {
        "agentPoolProfiles": [
        {
            "count": "1",
            "osSKU": "ubuntu",
            "osType": "linux"
         } 
         ],
    }
    

Добавление второго пула узлов с помощью шаблона ARM

Кластер, созданный в предыдущем разделе , имеет один пул узлов. В этом разделе мы добавим второй пул узлов в кластер. Этот второй пул узлов может иметь тип ОС Linux с номером SKU ОС Ubuntu или AzureLinux или типом ОС Windows.

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

  • Создайте несколько пулов узлов Ubuntu в кластере AKS, внося следующие изменения в шаблон ARM:

      "properties": {
        "agentPoolProfiles": [
        {
            "count": "3",
            "osSKU": "ubuntu",
            "osType": "linux"
         } 
         ],
    }
    

Добавление пулов узлов Windows Server

Создание пулов узлов Windows Server 2025
  • Создайте несколько пулов узлов Windows в кластере AKS, внося следующие изменения в шаблон ARM:

      "properties": {
        "agentPoolProfiles": [
        {
            "count": "3",
            "osSKU": "windows2025",
            "osType": "windows"
         } 
         ],
    }
    

Разверните ваш шаблон ARM

  • Разверните ваш шаблон ARM, следуя руководству в разделе "Развертывание кластера Azure Kubernetes Service (AKS) с использованием шаблона ARM".

Настройка фрагментов, меток или тегов для пула узлов

При создании пула узлов в него можно добавлять таинты, метки или теги. При добавлении загрязнения, метки или тега все узлы в этом пуле узлов также получают такие загрязнение, метку или тег. Мы рекомендуем применять эти свойства ко всему пулу узлов вместо отдельных узлов. Таким образом, можно легко управлять свойствами всех узлов в пуле узлов, обновляя свойства пула узлов вместо обновления каждого узла по отдельности.

Для конкретных инструкций по настройке маркеров загрязнения, меток или тегов для пула узлов используйте следующие ресурсы:

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

Из этой статьи вы узнали, как создать кластер AKS с одним пулом узлов и добавить в кластер дополнительные пулы узлов. Дополнительные сведения об управлении пулами узлов см. в следующих статьях: