Облачная платформаAdvanced

Обзор Auto Scaling

Язык статьи: Русский
Показать оригинал
Страница переведена автоматически и может содержать неточности. Рекомендуем сверяться с английской версией.

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

Auto scaling широко используется в CCE. Типичные сценарии применения следующие:

  • Масштабирование онлайн‑сервиса: Pods и nodes автоматически масштабируются наружу в пиковые часы (например, в праздничные дни и во время акций) для обработки увеличенного количества запросов пользователей и масштабируются внутрь в непиковые часы для снижения расходов.
  • Обучение крупномасштабных вычислений: количество pods и nodes динамически регулируется в соответствии с требованиями вычислительных задач для ускорения их выполнения.
  • Обучение и инференс Deep learning на GPU: ресурсы GPU динамически распределяются для оптимизации эффективности задач обучения и инференса. GPU‑nodes автоматически добавляются или удаляются по мере необходимости для повышения использования ресурсов.
  • Запланированная или периодическая корректировка ресурсов: Pods и nodes автоматически масштабируются в заданные времена для выполнения запланированных задач. Ресурсы динамически регулируются в зависимости от требований задач, обеспечивая их бесперебойное выполнение.

Auto Scaling в CCE

CCE поддерживает auto scaling для workloads и nodes.

  • Workload scaling включает корректировку количества или характеристик pods на уровне планирования для адаптации к изменениям требований нагрузки. Например, количество pods может автоматически увеличиваться в пиковые часы для обработки большего числа запросов пользователей, а затем уменьшаться в непиковые часы для снижения затрат.
  • Node scaling предполагает динамическое добавление или сокращение вычислительных ресурсов (например, ECS) на уровне ресурсов в зависимости от статуса планирования pods. Такой подход обеспечивает достаточное обеспечение кластера при высокой нагрузке и минимизирует простои при низком спросе.

Компоненты

Типы масштабирования нагрузки

Table 1 Типы масштабирования нагрузки

Тип

Компонент

Описание

Ссылка

HPA

HorizontalPodAutoscaler (встроенный компонент Kubernetes)

Встроенный компонент Kubernetes для горизонтального автмасштабирования pod. CCE интегрирует функции окна времени отката на уровне приложения и порогов масштабирования в Kubernetes HPA.

Создание политики HPA

CustomedHPA

CCE Advanced HPA

Улучшенная функция автмасштабирования, используемая для автмасштабирования Deployments на основе метрик (использование CPU и использование памяти) или с периодическим интервалом (конкретный момент времени каждый день, каждую неделю, каждый месяц или каждый год).

Создание политики CustomedHPA

CronHPA

CCE Advanced HPA

CronHPA может масштабировать кластер в сторону увеличения или уменьшения в фиксированное время. Он может работать с политиками HPA для периодической корректировки области масштабирования HPA, реализуя масштабирование нагрузки в сложных сценариях.

Создание запланированной политики CronHPA

VPA

VPA

Vertical Pod Autoscaler в Kubernetes.

Создание политики VPA

AHPA

CCE Advanced HPA

Продвинутое горизонтальное pod‑автомасштабирование, которое масштабирует заранее на основе исторических данных.

Создание политики AHPA

Рисунок 1 Масштабирование нагрузки


Типы масштабирования узлов

Таблица 2 Типы масштабирования узлов

Имя компонента

Описание

Сценарий применения

Ссылка

CCE Cluster Autoscaler

Открытый компонент Kubernetes для горизонтального масштабирования узлов, который оптимизирован CCE в планировании, auto scaling и затратах.

Онлайн‑сервисы, глубокое обучение и масштабные вычисления при ограниченных бюджетах ресурсов

Создание политики масштабирования узлов