Sobes.tech
Junior

Czym są etykiety?

sobes.tech AI

Odpowiedź od AI

Etykiety (Labels) w Kubernetes to pary klucz/wartość, które są dołączane do obiektów (np. Podów, Service'ów, Deployment'ów). Służą do organizowania i wybierania podzbiorów obiektów. Etykiety same w sobie nie mają znaczenia dla Kubernetes, ale są ważne dla użytkowników do identyfikacji i grupowania.

Przykłady użycia:

  • Definiowanie środowiska: environment: production, environment: development
  • Identyfikacja aplikacji: app: my-web-app
  • Określenie wersji: version: v1.2.3
  • Identyfikacja poziomu usługi: tier: frontend, tier: backend

Selektory etykiet (Label Selectors) są używane w zapytaniach API do wybierania grup obiektów na podstawie ich etykiet. Na przykład, Service może używać selektora etykiet do kierowania ruchu tylko do Podów z określonymi etykietami.

Przykłady selektorów:

  • environment=production: Wybiera wszystkie obiekty, które mają etykietę environment z wartością production.
  • app in (my-web-app, another-app): Wybiera obiekty, których etykieta app ma wartość my-web-app lub another-app.
  • !environment: Wybiera obiekty, które nie mają etykiety environment.
apiVersion: v1
kind: Pod
metadata:
  name: my-app-pod
  labels: # Etykiety przypisane do 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: # Selekcja etykiet do wyboru Podów
    app: my-app
    tier: frontend
  ports:
  - protocol: TCP
    port: 80
    targetPort: 8080