Sobes.tech
Junior

Cosa sono le etichette?

sobes.tech AI

Risposta dell'AI

Le etichette (Labels) in Kubernetes sono coppie chiave/valore che vengono associate agli oggetti (ad esempio, Pod, Service, Deployment). Sono utilizzate per organizzare e selezionare sottoinsiemi di oggetti. Le etichette non hanno un significato intrinseco per Kubernetes stesso, ma sono importanti per gli utenti per l'identificazione e il raggruppamento.

Esempi di utilizzo:

  • Definizione dell'ambiente: environment: production, environment: development
  • Identificazione dell'applicazione: app: my-web-app
  • Definizione della versione: version: v1.2.3
  • Identificazione del livello di servizio: tier: frontend, tier: backend

I selettori di etichette (Label Selectors) vengono usati nelle richieste API per selezionare gruppi di oggetti in base alle loro etichette. Ad esempio, un Service può usare un selettore di etichette per instradare il traffico solo ai Pod con determinate etichette.

Esempi di selettori:

  • environment=production: Seleziona tutti gli oggetti che hanno l'etichetta environment con il valore production.
  • app in (my-web-app, another-app): Seleziona gli oggetti la cui etichetta app ha il valore my-web-app o another-app.
  • !environment: Seleziona gli oggetti che non hanno l'etichetta environment.
apiVersion: v1
kind: Pod
metadata:
  name: my-app-pod
  labels: # Etichette applicate al 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: # Selettore di etichette per scegliere i Pod
    app: my-app
    tier: frontend
  ports:
  - protocol: TCP
    port: 80
    targetPort: 8080