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


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

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

Примечание.

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

Внимание

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

Предпосылки

  • Вам потребуется Azure CLI версии 2.2.0 или более поздней версии. Чтобы узнать версию, выполните команду az --version. Если вам необходимо выполнить установку или обновление, см. статью Установка Azure CLI 2.0.
  • Чтобы развернуть шаблон 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 или 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. Когда состояние отражает зарегистрировано, обновите регистрацию поставщика ресурсов Microsoft.ContainerService с помощью az provider register команды.

    az provider register --namespace Microsoft.ContainerService
    
Создание пула узлов 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 Создайте ресурс, добавив этот 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. Когда состояние отражает зарегистрировано, обновите регистрацию поставщика ресурсов Microsoft.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

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

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

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

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

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