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

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

Kubernetes Лабораторна 21: Мітки та селектори pod

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

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

Тема: Мітки та селектори pod

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

Мета: навчитися правильно задавати мітки pod і писати селектори для пошуку та маршрутизації.



Крок 1. Створити deployment з міткою app=web.

Команда: kubectl create deployment web-labels --image=nginx --replicas=3 --dry-run=client -o yaml > web-labels.yaml

Пояснення: згенеруємо yaml щоб потім відредагувати labels вручну.



Крок 2. Додати додаткові мітки до pod у yaml.

Дія: у шаблоні pod додай labels role=frontend і tier=public.

Пояснення: кілька міток дозволяють гнучко фільтрувати ресурси.



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

Команда: kubectl apply -f web-labels.yaml

Пояснення: створюються pod з потрібними labels.



Крок 4. Перевірити мітки pod.

Команда: kubectl get pods -l app=web-labels -o wide --show-labels

Пояснення: переконайся, що role і tier присутні на pod.



Крок 5. Відфільтрувати pod тільки за role.

Команда: kubectl get pods -l role=frontend

Пояснення: селектор працює по будь якій комбінації міток.



Крок 6. Створити service з селектором по app і role.

Дія: напиши yaml для service який має selector app=web-labels і role=frontend.

Пояснення: сервіс буде маршрутизувати трафік тільки на pod з цими мітками.



Крок 7. Застосувати service.

Команда: kubectl apply -f web-labels-svc.yaml

Пояснення: створюється service типу ClusterIP.



Крок 8. Змінити мітку одного pod.

Команда: kubectl label pod <імя-pod> role=backend --overwrite

Пояснення: тепер цей pod більше не підходить під selector сервісу.



Крок 9. Перевірити endpoints service.

Команда: kubectl get endpoints web-labels-svc

Пояснення: переконайся, що кількість ip зменшилася на один.



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

Завдання: опиши, як labels і selectors допомагають будувати гнучку маршрутизацію і фільтрацію ресурсів.