← До списку лабораторних по Kubernetes
Повний опис / сценарій лабораторної:
Мета: навчитися маркувати ноди taint і дозволяти лише певним pod працювати на них. Крок 1. Вибрати ноду для спеціальних задач. Команда: kubectl get nodes Пояснення: обери ноду яку хочеш зробити спеціальною наприклад для критичних сервісів. Крок 2. Додати taint до ноди. Команда: kubectl taint nodes <імя-ноди> dedicated=critical:NoSchedule Пояснення: звичайні pod без toleration не зможуть розміститися на цій ноді. Крок 3. Створити звичайний deployment без toleration. Команда: kubectl create deployment taint-test --image=nginx --replicas=2 Пояснення: scheduler не повинен ставити ці pod на tainted ноду. Крок 4. Перевірити розміщення pod. Команда: kubectl get pods -l app=taint-test -o wide Пояснення: переконайся що жоден pod не запущений на tainted ноді. Крок 5. Додати toleration до deployment. Дія: відредагуй deployment та додай у spec template spec tolerations з key=dedicated value=critical effect=NoSchedule. Пояснення: тепер pod можуть бути запущені і на tainted ноді. Крок 6. Оновити deployment. Команда: kubectl apply -f taint-test.yaml Пояснення: pod можуть перезапуститися на нових нодах відповідно до правил. Крок 7. Перевірити нове розміщення pod. Команда: kubectl get pods -l app=taint-test -o wide Пояснення: принаймні один pod має бути на tainted ноді. Крок 8. Перевірити describe ноди. Команда: kubectl describe node <імя-ноди> | grep -i taint -n Пояснення: побачиш активні taints які впливають на розміщення. Крок 9. Прибрати taint. Команда: kubectl taint nodes <імя-ноди> dedicated=critical:NoSchedule- Пояснення: мінус в кінці видаляє taint. Крок 10. Міні звіт. Завдання: опиши як можна використовувати taints для виділених нод під бази даних або системні сервіси.