Масштабирование приложений в AKS

Вычислительные решения Azure

Florin Angelescu

Azure Cloud Architect

Зачем нужно масштабирование

 

Низкий трафик

Высокий трафик

 

  • Трафик приложений редко бывает постоянным:

    • Одни часы могут быть спокойными
    • Другие — приносить всплески нагрузки
  • Без масштабирования:

    • Нагрузка рискует стать чрезмерной
    • Это ведёт к снижению производительности или простоям
Вычислительные решения Azure

Зачем нужно масштабирование

 

Kubernetes

 

  • Kubernetes предоставляет механизмы динамического управления ресурсами.
  • Приложения эффективно справляются с нагрузкой.
  • Масштабирование обеспечивает:
    • Стабильный пользовательский опыт
    • Оптимизацию затрат для организаций
Вычислительные решения Azure

Ручное масштабирование

Ручное масштабирование

Увеличивайте или уменьшайте количество реплик в развёртывании с помощью kubectl scale.

Вычислительные решения Azure

Ручное масштабирование

Ручное масштабирование

Масштабирование веб-приложения с двух реплик до четырёх:

  • Увеличивает число подов, доступных для обработки запросов
Вычислительные решения Azure

Ручное масштабирование

 

Ручное масштабирование

Ручное масштабирование

 

 

Подходит для:

  • Запланированных запусков продуктов
  • Рекламных акций
  • Распродаж
Вычислительные решения Azure

Horizontal Pod Autoscaler (HPA)

HPA

Вычислительные решения Azure

Horizontal Pod Autoscaler (HPA)

HPA

Отслеживает метрики (использование CPU и памяти) и автоматически регулирует количество реплик.

Вычислительные решения Azure

Horizontal Pod Autoscaler (HPA)

HPA

Нагрузка превышает пороговое значение:

  • Создаются дополнительные поды
Вычислительные решения Azure

Horizontal Pod Autoscaler (HPA)

HPA

Нагрузка снижается:

  • Лишние поды удаляются
Вычислительные решения Azure

Horizontal Pod Autoscaler (HPA)

HPA

  • Интегрируется с Azure Monitor.
  • Поддерживает пользовательские метрики (задержка запросов, длина очереди).
Вычислительные решения Azure

Cluster Autoscaler

 

Автомасштабировщик

 

 

  • Добавляет или удаляет узлы в зависимости от нагрузки.
  • Если поды не удаётся запланировать из-за нехватки ресурсов:
    • Новые узлы подготавливаются автоматически
Вычислительные решения Azure

Cluster Autoscaler

 

Автомасштабировщик

 

 

  • Нагрузка снижается:

    • Неиспользуемые узлы удаляются для экономии
  • Инфраструктура соответствует потребностям рабочей нагрузки:

    • Без избыточного резервирования ресурсов
Вычислительные решения Azure

Рекомендации по масштабированию

Метрики

Задавайте реалистичные запросы и лимиты ресурсов

Комбинирование

Комбинируйте Horizontal Pod Autoscaler и Cluster Autoscaler

Тестирование

Тестируйте поведение при масштабировании под нагрузкой

Затраты

Отслеживайте затраты

Вычислительные решения Azure

Итоги

 

Kubernetes

  • Масштабирование в AKS позволяет приложениям автоматически адаптироваться к нагрузке:
    • Ручное масштабирование
    • Horizontal Pod Autoscaler
    • Cluster Autoscaler
  • Баланс между производительностью и эффективностью.
Вычислительные решения Azure

Давайте потренируемся!

Вычислительные решения Azure

Preparing Video For Download...