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

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

Kubernetes Лабораторна 17: Квоти ресурсів у namespace

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

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

Тема: ResourceQuota та LimitRange

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

Мета: навчитися задавати квоти ресурсів і дефолтні limits для pod.



Крок 1. Створити namespace quota-lab.

Команда: kubectl create namespace quota-lab

Пояснення: в цьому просторі ми ввімкнемо квоти.



Крок 2. Написати yaml для resourcequota.

Ідея: обмежити сумарне використання cpu і памʼяті для namespace, а також кількість pod.

Пояснення: це захищає кластер від надмірного споживання одним проектом.



Крок 3. Застосувати resourcequota.

Команда: kubectl apply -f rq-quota-lab.yaml

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



Крок 4. Написати yaml для limitrange.

Ідея: задати дефолтні requests і limits для контейнерів, якщо їх не вказано явно.

Пояснення: це допомагає уникнути pod без ресурсних обмежень.



Крок 5. Застосувати limitrange.

Команда: kubectl apply -f lr-quota-lab.yaml

Пояснення: для всіх нових pod у namespace діятимуть дефолтні значення.



Крок 6. Спробувати створити pod без resources.

Команда: kubectl run quota-test --image=nginx -n quota-lab

Пояснення: перевір, які requests та limits будуть установлені автоматично через describe pod.



Крок 7. Спробувати перевищити квоту.

Ідея: створити багато pod або deployment з великою кількістю реплік і подивитися помилки від api сервера.

Пояснення: kubernetes відмовить у створенні нових pod при перевищенні квоти.



Крок 8. Переглянути використання квоти.

Команда: kubectl describe resourcequota -n quota-lab

Пояснення: видно поточне використання і ліміти.



Крок 9. За потреби відредагувати квоту.

Пояснення: змінюй yaml і застосовуй його знову, щоб збільшити або зменшити обмеження.



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

Завдання: поясни, як resourcequota і limitrange допомагають уникати перевантаження кластера.