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

Auto Scaling Overview

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

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

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

  • Online service scaling: Pods и nodes автоматически масштабируются наружу в пиковые часы (например, в праздничные дни и во время акций) для обработки увеличенного количества запросов пользователей и масштабируются внутрь в непиковые часы для снижения затрат.
  • Large-scale computing training: Количество pods и nodes динамически регулируется в соответствии с требованиями вычислительных задач для ускорения выполнения.
  • Deep learning GPU training and inference: GPU‑ресурсы динамически распределяются для оптимизации эффективности задач обучения и инференса. GPU‑nodes автоматически добавляются или удаляются по мере необходимости для повышения использования ресурсов.
  • Scheduled or periodic resource adjustment: Pods и nodes автоматически масштабируются в определённое время для выполнения запланированных задач. Ресурсы динамически регулируются в соответствии с требованиями задач для обеспечения бесперебойного выполнения.

Auto Scaling в CCE

CCE поддерживает auto scaling для рабочих нагрузок и nodes.

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

Компоненты

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

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

Тип

Component

Description

Reference

HPA

HorizontalPodAutoscaler (built-in Kubernetes component)

Встроенный компонент 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 в планировании, авто масштабировании и затратах.

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

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