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

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

Kubernetes Лабораторна 47: kubectl top nodes та pods

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

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

Тема: Використання kubectl top для аналізу продуктивності

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

Мета: навчитися використовувати kubectl top для аналізу cpu і памʼяті на нодах та pod.



Крок 1. Переконатися що встановлено metrics-server.

Команда: kubectl get deployment metrics-server -n kube-system

Пояснення: без нього kubectl top не працює.



Крок 2. Перевірити загальне навантаження на ноди.

Команда: kubectl top nodes

Пояснення: подивись cpu і memory usage для кожної ноди.



Крок 3. Визначити ноду з найбільшим навантаженням.

Пояснення: зафіксуй її імʼя і порівняй значення з іншими нодами.



Крок 4. Переглянути навантаження pod у namespace default.

Команда: kubectl top pods

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



Крок 5. Відсортувати pod за cpu.

Пояснення: використай kubectl top pods --sort-by=cpu щоб побачити найважчі pod.



Крок 6. Запустити тестовий навантажувальний pod.

Команда: kubectl run cpu-burn --image=busybox -- sh -c "while true; do :; done"

Пояснення: цей pod створює високе навантаження на cpu.



Крок 7. Ще раз викликати kubectl top pods.

Пояснення: переконайся що cpu-burn знаходиться у верхній частині списку.



Крок 8. Подивитися llimits і requests для cpu-burn.

Команда: kubectl describe pod cpu-burn | grep -i requests -n

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



Крок 9. Видалити cpu-burn pod.

Команда: kubectl delete pod cpu-burn

Пояснення: навантаження на ноди має впасти.



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

Завдання: опиши як ти використовуватимеш kubectl top під час розслідування інцидентів з високим навантаженням.