Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
По умолчанию операции увеличения масштаба, выполняемые вручную или с помощью автомасштабирования кластера, требуют выделения и подготовки новых узлов, а операции уменьшения масштаба удаляют узлы. Режим уменьшения масштаба позволяет решить, следует ли удалять или освобождать узлы в кластере службы Azure Kubernetes Service (AKS) при уменьшении масштаба.
Если виртуальная машина Azure находится в состоянии Stopped (освобождена), вам не придется нести расходы на вычислительные ресурсы для виртуальных машин. Тем не менее вам все равно придется платить за все диски ОС и хранилища данных, подключенные к виртуальной машине. Это также означает, что на этих узлах будут храниться образы контейнеров. Дополнительные сведения см. в статье Состояния и выставление счетов за виртуальные машины Azure. Такое поведение обеспечивает более быстрое выполнение операций, так как в развертывании используются кэшированные образы. Режим уменьшения масштаба устраняет необходимость в предварительной подготовке узлов и предварительном получении образов контейнеров, что позволяет сократить затраты на вычислительные ресурсы.
Подготовка к работе
Предупреждение
Чтобы сохранить все освобожденные виртуальные машины, необходимо установить режим уменьшения масштаба для освобождения. Сюда относятся виртуальные машины, которые были освобождены с помощью API IaaS (API-интерфейсы масштабируемого набора виртуальных машин). Установка режима уменьшения масштаба для удаления приведет к удалению всех освобожденных виртуальных машин. После применения режима освобождения и операции уменьшения масштаба эти узлы сохраняются в APIserver и отображаются в состоянии NotReady.
В этой статье предполагается, что у вас есть кластер AKS. Если у вас нет кластера AKS, ознакомьтесь с рекомендациями по проектированию корпоративной реализации AKS, см. в разделе "Планирование проектирования AKS".
Ограничения
-
Временные диски ОС не поддерживаются. Обязательно укажите управляемые диски ОС, включив аргумент
--node-osdisk-type Managedпри создании кластера или пула узлов.
Примечание.
Ранее, когда режим уменьшения масштаба был в предварительной версии, пулы точечных узлов не поддерживались. Теперь, когда этот режим является общедоступным, это ограничение больше не применяется.
Использование режима уменьшения масштаба для освобождения узлов при уменьшении масштаба
При установке параметра --scale-down-mode Deallocate будет выполнено освобождение узлов во время уменьшения масштаба пула кластеров или узлов. Все освобожденные узлы останавливаются. При необходимости увеличения масштаба пула кластеров и узлов перед подготовкой новых узлов будут запущены освобожденные узлы.
В этом примере мы создадим пул узлов с 20 узлами и укажите, что при горизонтальном масштабировании узлы должны быть освобождены с помощью аргумента --scale-down-mode Deallocate.
az aks nodepool add --node-count 20 --scale-down-mode Deallocate --node-osdisk-type Managed --max-pods 10 --name nodepool2 --cluster-name myAKSCluster --resource-group myResourceGroup
При масштабировании пула узлов и изменении количества узлов до 5 мы освободим 15 узлов.
az aks nodepool scale --node-count 5 --name nodepool2 --cluster-name myAKSCluster --resource-group myResourceGroup
Чтобы освободить узлы Windows во время горизонтального масштабирования, выполните следующую команду. Поведение по умолчанию согласовано с узлами Linux, где узлы удаляются во время горизонтального масштабирования.
az aks nodepool add --node-count 20 --scale-down-mode Deallocate --os-type Windows --node-osdisk-type Managed --max-pods 10 --name npwin2 --cluster-name myAKSCluster --resource-group myResourceGroup
Удаление ранее освобожденных узлов
Чтобы удалить освобожденные узлы, можно изменить режим изменения масштаба на Delete, установив --scale-down-mode Delete. Теперь удалим 15 освобожденных узлов.
az aks nodepool update --scale-down-mode Delete --name nodepool2 --cluster-name myAKSCluster --resource-group myResourceGroup
Примечание.
При последующем изменении режима уменьшения масштаба с Deallocate на DeleteDeallocate удалит всех освобожденные узлы и сохранит пул узлов в режиме уменьшения масштаба Deallocate.
Использование режима уменьшения масштаба для удаления узлов при уменьшении масштаба
Поведение AKS по умолчанию без использования режима уменьшения масштаба заключается в удалении узлов при уменьшении масштаба кластера. С использованием режима уменьшения масштаба этого можно явно добиться, задав --scale-down-mode Delete.
В этом примере мы создадим новый пул узлов и указываем, что наши узлы будут удалены при горизонтальном масштабировании с помощью аргумента --scale-down-mode Delete. Операции масштабирования будут обрабатываться с помощью автомасштабирования кластера.
az aks nodepool add --enable-cluster-autoscaler --min-count 1 --max-count 10 --max-pods 10 --node-osdisk-type Managed --scale-down-mode Delete --name nodepool3 --cluster-name myAKSCluster --resource-group myResourceGroup
Следующие шаги
- Дополнительные сведения об обновлении кластера AKS см. в статье Обновление кластера AKS
- Дополнительные сведения об автомасштабировании кластера см. в статье Автоматическое масштабирование кластера в соответствии с потребностями приложений на AKS