← До списку лабораторних по Kubernetes
Повний опис / сценарій лабораторної:
Мета: навчитися створювати horizontal pod autoscaler для deployment. Крок 1. Переконатися, що в кластері є metrics server. Команда: kubectl get deployment metrics-server -n kube-system Пояснення: якщо немає, встанови metrics server згідно офіційної документації. Крок 2. Створити deployment з ресурсними лімітами. Ідея: простий веб сервіс, наприклад nginx або http echo, з заданими requests і limits по cpu. Пояснення: без resources hpa не зможе коректно працювати. Крок 3. Створити service для deployment. Команда: kubectl expose deployment hpa-web --name=hpa-web-svc --port=80 Пояснення: сервіс потрібен для навантажувальних тестів. Крок 4. Створити hpa ресурс. Команда: kubectl autoscale deployment hpa-web --cpu-percent=50 --min=1 --max=5 Пояснення: hpa прагнутиме тримати середнє завантаження cpu на рівні 50 відсотків. Крок 5. Перевірити стан hpa. Команда: kubectl get hpa Пояснення: подивись current cpu і desired поди. Крок 6. Створити pod для навантаження сервісу. Ідея: pod з утилітою hey або ab, що посилає багато http запитів на hpa-web-svc. Пояснення: це підвищить завантаження cpu. Крок 7. Спостерігати за hpa. Команда: kubectl get hpa -w Пояснення: подивись, як змінюється кількість pod при рості навантаження. Крок 8. Зменшити навантаження. Дія: зупини навантажувальний pod або зменш інтенсивність запитів. Пояснення: через певний час hpa має зменшити кількість pod. Крок 9. Переглянути історію масштабування. Команда: kubectl describe hpa hpa-web Пояснення: там видно події зміни числа реплік. Крок 10. Міні звіт. Завдання: опиши, які метрики можна використати для autoscaling, крім cpu.