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


Масштабирование пулов узлов в службе Azure Kubernetes (AKS)

По мере изменения требований рабочей нагрузки приложения может потребоваться масштабировать количество узлов в пуле узлов в службе Azure Kubernetes (AKS). Из этой статьи вы узнаете, как вручную и автоматически масштабировать пулы узлов в AKS.

Предварительные требования для масштабирования пула узлов AKS

  • Существующий кластер AKS с по крайней мере одним пулом узлов. Если необходимо создать его, см. статью "Создание кластера AKS с пулами узлов".
  • Необходимо установить и настроить Azure CLI версии 2.2.0 или более поздней. Чтобы узнать версию, выполните команду az --version. Если вам нужно установить или обновить, см. статью "Установка Azure CLI".

Масштабирование пула узлов вручную

  1. Масштабируйте количество узлов в пуле узлов с помощью команды [az aks nodepool scale][az-aks-nodepool-scale]. Флаг --node-count указывает требуемое количество узлов в пуле узлов. В этом примере пул узлов масштабируется до пяти узлов.

    az aks nodepool scale \
        --resource-group <resource-group-name> \
        --cluster-name <cluster-name> \
        --name <node-pool-name> \
        --node-count 5 \
        --no-wait
    
  2. Проверьте состояние пулов узлов с помощью команды [az aks nodepool list][az-aks-nodepool-list].

    az aks nodepool list --resource-group <resource-group-name> --cluster-name <cluster-name>
    

    В следующем примере выходных данных показано, что пул узлов находится в состоянии масштабирования с новым числом пяти узлов:

    [
      {
        ...
        "count": 5,
        ...
        "name": "<node-pool-name>",
        "orchestratorVersion": "1.15.7",
        ...
        "provisioningState": "Scaling",
        ...
        "vmSize": "Standard_DS2_v2",
        ...
      },
      {
        ...
        "count": 2,
        ...
        "name": "<node-pool-name-2>",
        "orchestratorVersion": "1.15.7",
        ...
        "provisioningState": "Succeeded",
        ...
        "vmSize": "Standard_DS2_v2",
        ...
      }
    ]
    

    Операция масштабирования занимает несколько минут. После завершения операции масштабирования пул provisioningState узлов изменится на "Успешно".

Автоматическое масштабирование пула узлов с помощью автомасштабирования кластера

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

  • Включите автомасштабирование кластера в существующем пуле узлов с помощью команды [][az aks nodepool updateaz-aks-nodepool-update] с флагом --update-cluster-autoscaler . В --min-count и --max-count флагах указывается минимальное и максимальное количество узлов в пуле узлов. В этом примере автомасштабирование кластера включено с минимальным количеством одного узла и максимальным числом пяти узлов:

    az aks nodepool update \
      --resource-group <resource-group-name> \
      --cluster-name <cluster-name> \
      --name <node-pool-name> \
      --update-cluster-autoscaler \
      --min-count 1 \
      --max-count 5
    

Замечание

Если вы хотите отключить автомасштабирование кластера в пуле узлов, используйте команду [az aks nodepool update][az-aks-nodepool-update] с флагом --disable-cluster-autoscaler вместо --update-cluster-autoscaler.

Дальнейшие действия. Управление пулами узлов в AKS

Дополнительные сведения об управлении пулами узлов в AKS см. в статье "Управление пулами узлов" в службе Azure Kubernetes (AKS).