Sobes.tech
Junior
126
questionbank

Что такое лейблы?

Ответ от нейросети

sobes.tech AI

Лейблы (Labels) в Kubernetes — это пары ключ/значение, которые прикрепляются к объектам (например, Pod'ам, Service'ам, Deployment'ам). Они используются для организации и выбора подмножеств объектов. Лейблы не несут смысловой нагрузки для самого Kubernetes, но важны для пользователей для идентификации и группировки.

Примеры использования:

  • Определение среды: environment: production, environment: development
  • Идентификация приложения: app: my-web-app
  • Определение версии: version: v1.2.3
  • Идентификация уровня обслуживания: tier: frontend, tier: backend

Селекторы лейблов (Label Selectors) используются в API-запросах для выбора групп объектов на основе их лейблов. Например, Service может использовать селектор лейблов для маршрутизации трафика только к Pod'ам с определенными лейблами.

Примеры селекторов:

  • environment=production: Выбирает все объекты, у которых лейбл environment имеет значение production.
  • app in (my-web-app, another-app): Выбирает объекты, у которых лейбл app имеет значение my-web-app или another-app.
  • !environment: Выбирает объекты, у которых отсутствует лейбл environment.
apiVersion: v1
kind: Pod
metadata:
  name: my-app-pod
  labels: # Лейблы, применяемые к Pod'у
    app: my-app
    tier: frontend
    environment: development
spec:
  containers:
  - name: my-app-container
    image: my-app-image:latest
apiVersion: v1
kind: Service
metadata:
  name: my-app-service
spec:
  selector: # Селектор лейблов для выбора Pod'ов
    app: my-app
    tier: frontend
  ports:
  - protocol: TCP
    port: 80
    targetPort: 8080