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

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

Kubernetes Лабораторна 79: Пріоритет pod і preemption

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

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

Тема: PriorityClass та preemption

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

Мета: навчитися використовувати priorityclass щоб високопріоритетні pod могли виживати при дефіциті ресурсів.



Крок 1. Створити PriorityClass для критичних сервісів.

Пояснення: наприклад з value 100000 і globalDefault false.



Крок 2. Створити PriorityClass для звичайних pod.

Пояснення: з меншим value.



Крок 3. Створити deployment low-prio який споживає багато ресурсів.

Пояснення: він буде першим кандидатом на preemption.



Крок 4. Створити deployment critical з високим пріоритетом.

Пояснення: додай до spec priorityClassName критичного класу.



Крок 5. Заповнити кластер low-prio pod щоб вичерпати ресурси.

Пояснення: створюй replica поки нові pod не будуть pending.



Крок 6. Створити pod з високим пріоритетом.

Пояснення: scheduler може виселити деякі low-prio pod.



Крок 7. Перевірити події preemption.

Команда: kubectl describe pod <critical-pod>

Пояснення: у events має бути інформація про витіснення інших pod.



Крок 8. Переглянути які pod були видалені.

Пояснення: порівняй список low-prio pod до і після.



Крок 9. Обміркувати ризики preemption для stateful сервісів.

Пояснення: не всі pod безпечно викидати.



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

Завдання: опиши які класи пріоритетів ти створиш для своєї інфраструктури.