← До списку лабораторних по Kubernetes
Повний опис / сценарій лабораторної:
Мета: навчитися правильно задавати мітки 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 допомагають будувати гнучку маршрутизацію і фільтрацію ресурсів.