Sobes.tech
Junior

Какво са етикетите?

sobes.tech AI

Отговор от 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