Короткий ответ Labels — это произвольные пары ключ-значение, прикреплённые к объектам (например, app: web), а selector — это запрос, который по значениям labels выбирает набор объектов; через эту связь Service находит свои Pod, а Deployment — управляемые им Pod. Как это работает подробнее labels не имеют встроенного смысла для Kubernetes — это просто метаданные, которые становятся значимыми только тогда, когда другой объект ссылается на них через selector. Selector поддерживает равенство (app=web) и наборные выражения (in, notin, exists) для более гибкой фильтрации. Пример кода Что использовать на практике Практика. labels используют для группировки по приложению, окружению, версии (app, tier, env, version), а selectors Service/Deployment/NetworkPolicy опираются именно на них для определения "своих" подов. Хорошая схема меток с самого начала экономит время на диагностике и позволяет гибко фильтровать ресурсы командой kubectl get pods -l. Подводные камни Риски. менять labels у уже запущенных Pod, управляемых D