Ответ
Селектор (Selector) в Kubernetes — это механизм для выбора объектов (например, Pod, Service, ReplicaSet) на основе их меток (labels). Он определяет, к каким ресурсам применяются правила или операции.
Основные типы селекторов:
matchLabels— выбор объектов, у которых метки точно соответствуют указанным парам ключ-значение.matchExpressions— выбор на основе более сложных условий (In, NotIn, Exists, DoesNotExist).
Примеры использования:
-
В манифесте Deployment для связи с Pod-ами:
apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment spec: selector: matchLabels: app: nginx tier: frontend template: metadata: labels: app: nginx tier: frontend # ... spec контейнера -
В командах
kubectlдля фильтрации ресурсов:# Получить все Pods с меткой app=nginx kubectl get pods -l app=nginx # Получить Pods, где метка 'environment' существует, а 'tier' равна 'frontend' kubectl get pods -l 'environment, tier=frontend'
Селекторы — это фундаментальный механизм для декларативного управления связями между объектами в кластере.