← До фільтрів та технологій

← До списку лабораторних по Kubernetes

Kubernetes Лабораторна 85: HPA з кастомними метриками

Технологія: Kubernetes

Номер лабораторної: 85 · Рівень: middle

Тема: Horizontal Pod Autoscaler на основі кастомних метрик

Повний опис / сценарій лабораторної:

Мета: налаштувати autoscaling pod не тільки за cpu а й за кастомною метрикою.



Крок 1. Переконатися що у кластері є metrics api.

Пояснення: зазвичай це metrics server плюс адаптер кастомних метрик.



Крок 2. Підготувати застосунок який експортує власну метрику.

Пояснення: наприклад кількість активних задач або довжину черги.



Крок 3. Налаштувати експортер так щоб метрика була доступна через http.

Пояснення: це може бути формат prometheus.



Крок 4. Переконатися що адаптер бачить цю метрику.

Команда: kubectl get --raw /apis/custom.metrics.k8s.io/ | jq

Пояснення: знайди свій параметр у списку.



Крок 5. Створити deployment з кількома replica.

Пояснення: це буде ціль для autoscaling.



Крок 6. Створити HPA який використовує кастомну метрику.

Пояснення: у spec metrics вкажи тип Pods або Object з назвою метрики і цілевим значенням.



Крок 7. Застосувати HPA.

Команда: kubectl apply -f hpa-custom.yaml



Крок 8. Зімітувати збільшення метрики.

Пояснення: створення тестового навантаження яке піднімає значення.



Крок 9. Перевірити як HPA змінює кількість replica.

Команда: kubectl get hpa -w

Пояснення: подивися на поле CURRENT та DESIRED.



Крок 10. Міні звіт.

Завдання: опиши приклад реальної метрики яка краще за cpu для autoscaling у твоїй системі.