Поделиться через


Создание пулов узлов для кластера в 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.2.0 или более поздней версии. Чтобы узнать версию, выполните команду az --version. Если необходимо установить или обновить, см. раздел Install Azure CLI.
  • Чтобы развернуть шаблон ARM, необходимо иметь права на запись к ресурсам, которые вы разворачиваете, и доступ ко всем операциям с типом ресурса Майкрософт.Resources/deployments. Например, для развертывания виртуальной машины требуется разрешение Майкрософт.Compute/virtualMachines/write и Майкрософт.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 или AzureLinux. Невозможно создать кластер с одним пулом узлов Windows. Если вы хотите запустить контейнеры Windows, необходимо добавить пул узлов Windows в кластер после его создания с пулом системных узлов Linux.

  • Кластер AKS должен использовать подсистему балансировки нагрузки SKU уровня "Стандартный" для использования нескольких пулов узлов. Эта функция не поддерживается с подсистемами балансировки нагрузки SKU уровня "Базовый".

  • Кластер AKS должен использовать Масштабируемые наборы виртуальных машин для узлов.

  • Имя пула узлов может содержать только строчные буквенно-цифровые символы и начинаться с строчной буквы.

    • Для пулов узлов Linux длина должна составлять от 1 до 12 символов.
    • Для пулов узлов Windows длина должна составлять от 1 до 6 символов.
  • Все пулы узлов должны находиться в одной виртуальной сети.

  • Вы не можете изменить размер виртуальной машины пула узлов после его создания.

  • При создании нескольких пулов узлов во время создания кластера версии Kubernetes для пулов узлов должны соответствовать версии, заданной для плоскости управления. После подготовки кластера можно вносить обновления с помощью операций над каждым пулом узлов.

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

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

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

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

    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

Установите расширение aks-preview
  1. Установите расширение aks-preview Azure CLI с помощью команды az extension add.

    Внимание

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

    az extension add --name aks-preview
    
  2. Обновите до последней версии расширения с помощью az extension update команды. для Windows Server 2025 требуется не менее 18.0,0b5.

    az extension update --name aks-preview
    
Регистрация флага компонента AksWindows2025Preview
  1. Зарегистрируйте флаг функции AksWindows2025Preview с помощью команды az feature register.

    az feature register --namespace "Microsoft.ContainerService" --name "AksWindows2025Preview"
    
  2. Проверьте состояние регистрации с помощью az feature show команды. Через несколько минут отобразится состояние Registered (Зарегистрировано).

    az feature show --namespace Microsoft.ContainerService --name AksWindows2025Preview
    
  3. Когда состояние отражает Registered, обновите регистрацию поставщика ресурсов Майкрософт.ContainerService с помощью команды az provider register.

    az provider register --namespace Microsoft.ContainerService
    
Создание пула узлов Windows Server 2025
  • Создайте пул узлов с помощью az aks nodepool add команды. В следующем примере создается пул узлов Windows с SKU ОС Windows2025, на котором работают три узла.

    Для получения дополнительной информации об операционной системе 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 в рабочей среде мы рекомендуем использовать по крайней мере три узла для пула узлов. Если один узел выходит из строя, резервирование нарушается. Вы можете снизить этот риск, увеличив количество узлов в пуле системных узлов.

Создайте ресурс Майкрософт.ContainerService/managedClusters

  • Создайте ресурс Майкрософт.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

Установите расширение aks-preview
  1. Установите расширение aks-preview Azure CLI с помощью команды az extension add.

    Внимание

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

    az extension add --name aks-preview
    
  2. Обновите до последней версии расширения с помощью az extension update команды. для Windows Server 2025 требуется не менее 18.0,0b5.

    az extension update --name aks-preview
    
Регистрация флага компонента AksWindows2025Preview
  1. Зарегистрируйте флаг функции AksWindows2025Preview с помощью команды az feature register.

    az feature register --namespace "Microsoft.ContainerService" --name "AksWindows2025Preview"
    
  2. Проверьте состояние регистрации с помощью az feature show команды. Через несколько минут отобразится состояние Registered (Зарегистрировано).

    az feature show --namespace Microsoft.ContainerService --name AksWindows2025Preview
    
  3. Когда состояние отражает Registered, обновите регистрацию поставщика ресурсов Майкрософт.ContainerService с помощью команды az provider register.

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

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

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

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

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

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

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

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

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