J02.09. Горизонтальное автомасштабирование подов
Что такое горизонтальное автомасштабирование подов?
Горизонтальное автомасштабирование подов (ГАП) — функционал Cloud Managed Kubernetes, использующийся для регулировки количества подов. Регулировка поддерживает среднее значение использования ресурсов (CPU и памяти) подами в пределах заданных значений.
Ссылки на документацию
Более подробно в статье.
Необходимые условия перед выполнением настроек
1. Установите сервер метрик.
2. Проверьте, что созданы:
- рабочее пространство,
- проект,
- пользователь project-regular.
Project-regular должен быть приглашен в проект и наделен ролью operator.
Создание сервиса
1. Войдите в консоль как project-regular и перейдите в проект.
2. Выберите Services на левой панели навигации и нажмите кнопку Create справа.
3. В открывшемся диалоговом окне Create Service щелкните кнопку Stateless Service.
4. Введите имя сервиса, например, hpa и нажмите кнопку Next.
5. Нажмите кнопку Add Container, установите для Image значение mirrorgooglecontainers/hpa-example и нажмите кнопку Use Default Ports.
6. Установите запрос CPU, например, 0,15 ядра для каждого контейнера, последовательно нажмите кнопки √ и Next.
7. Нажмите кнопку Next вкладки Storage Settings и нажмите кнопку Create вкладки Advanced Settings.
Настройка ГАП
1. Выберите Deployments на левой панели навигации и щелкните Workloads, например, hpa-v1 справа.
2. Нажмите кнопку More и выберите кнопку Edit Autoscaling в раскрывающемся меню.
3. В диалоговом окне Horizontal Pod Autoscaling настройте параметры ГАП и нажмите кнопку OK.
- Target CPU Usage (%). Целевой процент от среднего запроса CPU пода.
- Target Memory Usage (MiB). Целевое среднее использование памяти модуля в МиБ.
- Minimum Replicas. Минимальное количество подов.
- Maximum Replicas. Максимальное количество подов.
Проверка ГАП
В этом разделе используется развертывание, которое отправляет запросы в ГАП. Развертывание необходимо для проверки, что ГАП автоматически регулирует количество подов для достижения целевого использования ресурсов.
Создание генератора нагрузки
Генератор нагрузки — инструмент, который эмулирует нагрузку на сервис по заданной конфигурации.
1. Выберите Workloads в Application Workloads на левой панели навигации и нажмите кнопку Create справа.
2. В диалоговом окне Create Deployment задайте имя развертыванию, например, load-generator и нажмите кнопку Next.
3. Нажмите кнопку Add Container и установите для Image значение busybox.
4. Прокрутите диалоговое окно вниз, выберите команду Start Command; установите для Command значение sh, -c, а для Parameters — while true; do wget -q -O- http://<Target Service>.<Target project>.svc.cluster.local; done Пример Parameters — while true; do wget -q -O- http://hpa.demo-project.svc.cluster.local; done.
6. Последовательно нажмите кнопки √ и Next.
7. Нажмите кнопку Next вкладки Storage Settings и нажмите кнопку Create вкладки Advanced Settings.
Просмотр состояния развертывания ГАП
1. После создания развертывания генератора нагрузки перейдите в Workloads раздела Application Workloads на левой панели навигации и щелкните развертывание ГАП (например, hpa-v1) справа. Количество отображаемых на странице подов автоматически увеличивается, чтобы соответствовать целевому уровню использования ресурсов.
2. Выберите Workloads в разделе Application Workloads на левой панели навигации, щелкните справа от развертывания генератора нагрузки (например, load-generator-v1) и выберите кнопку Delete в раскрывающемся списке. После удаления развертывания генератора нагрузки снова проверьте состояние развертывания ГАП. В результате количество подов уменьшается до минимума.
Изменение настроек ГАП
При необходимости повторите шаги в разделе Настройка ГАП, чтобы отредактировать конфигурацию ГАП.
Отмена ГАП
1. Выберите Workloads раздела Application Workloads на левой панели навигации и щелкните развертывание ГАП (например, hpa-v1) справа.
2. Щелкните справа от автомасштабирования и нажмите кнопку Cancel в раскрывающемся списке.