Автомасштабирование кластера в AKS с поддержкой Azure Arc
Область применения: AKS в Azure Stack HCI 22H2, AKS на Windows Server
Вы можете настроить количество узлов, выполняющих рабочие нагрузки приложений в AKS Arc, с помощью Служба Azure Kubernetes (AKS) для поддержания спроса. PowerShell позволяет включить автомасштабирование и управлять автоматическим масштабированием пулов узлов в целевых кластерах.
В этой статье описывается контекст автомасштабирования в AKS, включенном Arc, и принцип работы автомасштабирования. Для эффективной работы автомасштабирования кластера можно также использовать горизонтальное автомасштабирование pod Kubernetes, который является стандартным компонентом Kubernetes. Дополнительные сведения о горизонтальном автомасштабировании pod Kubernetes см. в разделе "Горизонтальное автомасштабирование pod".
Автоматическое масштабирование кластера
В AKS средство автомасштабирования кластера наблюдает за модулями pod в кластере, которые не могут быть запланированы из-за ограничений ресурсов. При обнаружении проблем число узлов в пуле узлов увеличивается в соответствии с требованиями приложения. Узлы также регулярно проверяются на отсутствие запущенных модулей pod, а затем количество узлов уменьшается по мере необходимости. Эта возможность автоматического увеличения или уменьшения числа узлов в кластере AKS позволяет запускать эффективные и экономичные кластеры. Автомасштабирование — это возможность системы автоматически настраивать рабочие нагрузки с помощью автоматизации и конфигурации, содержащей определенные параметры на основе входных, мер и правил.
Чтобы включить автомасштабирование кластера, AKS необходимо реализовать базовое управление ресурсами. AKS оценивает требования к ресурсам, которые будут запускать события автомасштабирования в определенный момент времени. AKS не учитывает потребление ресурсов за пределами AKS Arc. Например, при добавлении виртуальных машин после включения автомасштабирования это событие происходит вне контекста автомасштабирования.
Назначение автомасштабирования кластера
Автомасштабирование автоматически увеличивает размер пула узлов с минимального до максимального числа указанных узлов. При включении автоматического масштабирования средство автомасштабирования определяет, возможно ли максимальное количество узлов и предупреждает о чрезмерной подготовке доступных аппаратных ресурсов.
Автомасштабирование отслеживает доступные и обещанные ресурсы во всех развернутых целевых кластерах и пулах узлов. Масштабировщик использует эти данные для принятия обоснованных решений. По мере увеличения пула узлов автомасштабирование проверяет доступность ресурсов.
AKS Arc использует встроенную функцию автомасштабирования Kubernetes для поддержки операций, аналогичных автомасштабированию Azure.
Как работает автомасштабирование кластера
Автомасштабирование настраивается на изменение требований приложения. По мере изменения требований между рабочими днями и вечерними нагрузками автомасштабирование перемещает ресурсы кластеров. Кластеры Kubernetes масштабируется двумя способами:
- Триггеры на основе использования узлов. Средство автомасштабирования кластера отслеживает невозможность назначения новых объектов pod на узлах из-за ограничений ресурсов. Средство автомасштабирования кластера уменьшает количество узлов, если в течение времени неиспользуемая емкость не используется.
- Триггеры, определенные в профилях автомасштабирования. Средство автомасштабирования кластера использует параметры запуска для триггеров, таких как интервалы времени между событиями масштабирования и порогами ресурсов. См. раздел "Профили автомасштабирования".
Если включить автоматическое масштабирование в пуле узлов, профиль по умолчанию применяется, если вы не переопределите один или несколько параметров с помощью -ClusterAutoScalingProfile
параметра.Set-AksHciCluster
Если вы не включите их, состояние автомасштабирования узла по умолчанию отключено как во время создания кластера, так и пула узлов.
Если включить автомасштабирование для кластера и не предоставить объект autoscalerconfig , профиль автомасштабирования по умолчанию добавляется в кластер. Затем можно точно настроить параметры в профиле с помощью Set-AksHciCluster
команды и передачи объекта autoscalerconfig с обновленными значениями. Вам не нужно предоставлять все параметры в объекте, вы можете просто указать обновленные параметры в объекте.
Работа с автомасштабированием
Параметры в профиле автомасштабирования можно задать для настройки автомасштабирования. Дополнительные сведения см. в разделе "Использование профилей автомасштабирования".
PowerShell можно использовать для включения, настройки и отключения автомасштабирования. Дополнительные сведения см. в разделе "Использование PowerShell для автомасштабирования кластера".
Автомасштабирование кластера во время обновления кластера
При обновлении и обновлении кластера автомасштабирование приостановлено, а масштабирование не выполняется до тех пор, пока кластер и все пулы узлов в кластере не завершают операцию обновления. Если определенный пул узлов в кластере обновляется до новой версии Kubernetes, автомасштабирование для этого пула узлов приостановлено. Операция автомасштабирования продолжается во всех остальных пулах узлов.