Kubernetes · 3 min read · Dec 08, 2025
Etichette e Selettori in Kubernetes

Le etichette non sono altro che coppie chiave-valore assegnate agli oggetti Kubernetes come Pods, Servizi, ecc. Le etichette possono essere utilizzate per organizzare e selezionare oggetti Kubernetes. Le etichette possono essere attaccate agli oggetti al momento della creazione e possono essere modificate in qualsiasi momento. Possiamo aggiungere più etichette agli oggetti Kubernetes.
I selettori sono utilizzati dagli utenti per selezionare un insieme di oggetti. Il selettore di etichette è il principale primitivo di raggruppamento in Kubernetes. L’API di Kubernetes supporta due tipi di selettori:
- Selettori basati su uguaglianza:
Questo consente di filtrare per chiave e valore, dove gli oggetti corrispondenti devono soddisfare tutte le etichette specificate. - Selettori basati su insiemi:
Questo consente di filtrare le chiavi in base a un insieme di valori.
Per saperne di più su Etichette e Selettori, clicca qui.
In questo articolo, creeremo un Pod con etichette e reindirizzeremo le richieste ad esso dal servizio utilizzando il selettore. Eseguiremo anche operazioni di recupero e cancellazione su Pod e Servizio utilizzando Etichette/Selettori dalla riga di comando.
Requisiti
- Cluster Kubernetes con almeno 1 nodo worker.
Se vuoi imparare a creare un Cluster Kubernetes, clicca qui. Questa guida ti aiuterà a creare un cluster Kubernetes con 1 Master e 2 Nodi su AWS Ubuntu 18l04 EC2 Instances.
Cosa faremo
- Creare un Pod e un Servizio con Etichette e Selettore
- Comprendere le Etichette
Creare un Pod e un Servizio con Etichette e Selettori
Per creare un Pod con etichette, crea un nuovo file e aggiungi il seguente contenuto.
vim my-lable-demo-pod.ymlapiVersion: v1
kind: Pod
metadata:
name: label-demo-pod
labels:
environment: test
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.14.2
ports:
- containerPort: 80
Per creare un servizio con un selettore, crea un file con la seguente definizione del servizio che utilizza il namespace predefinito.
vim my-selector-demo-service.ymlapiVersion: v1
kind: Service
metadata:
name: selector-demo-service
namespace: default
labels:
environment: test
app: nginx
spec:
externalTrafficPolicy: Local
ports:
- name: http
port: 80
protocol: TCP
targetPort: 80
selector:
app: nginx
type: NodePort
Per creare un Pod, esegui il seguente comando.
kubectl create -f my-lable-demo-pod.ymlkubectl get pods
Per creare un Servizio, esegui il seguente comando.
kubectl create -f my-selector-demo-service.ymlkubectl get service
Ora, per controllare se il Selettore di Etichette funziona, prova ad accedere al servizio su NodeIP:NodePort.
Qui, l’IP del mio Nodo è 106.210.138.189 e il servizio è esposto sulla Porta=30385.
Poiché siamo in grado di accedere al Pod Nginx utilizzando il Servizio che abbiamo creato, significa che l’Etichetta e il Selettore hanno funzionato.
Comprendere le Etichette
Ora possiamo eseguire varie operazioni sul Pod e sul Servizio che abbiamo creato utilizzando l’Etichetta.
Per ottenere i Pod che corrispondono a un’etichetta di nostra scelta, possiamo usare “–selector” nel comando come segue.
kubectl get pods --selector environment=testkubectl get pods --selector app=nginx
Possiamo anche usare “-l” invece di “–selector” per ottenere i Pod che corrispondono all’etichetta di nostra scelta.
kubectl get pods -l environment=testkubectl get pods -l environment=prod
Possiamo anche eseguire l’operazione di cancellazione del pod specificando l’etichetta. I Pod che corrispondono all’etichetta possono essere cancellati utilizzando i seguenti comandi.
kubectl get podskubectl delete pods -l environment=testkubectl get pods
Nel modo in cui possiamo cancellare i Pod che corrispondono alle etichette, possiamo anche cancellare il servizio.
Per cancellare il servizio che corrisponde a un’etichetta, usa il seguente comando. Inoltre, se non c’è alcun servizio che corrisponde all’etichetta specificata nel comando, non verrà eseguita alcuna operazione di cancellazione.
kubectl get servicekubectl delete service -l environemt=testkubectl delete service -l environment=testkubectl get service
Conclusione
In questo articolo, abbiamo creato un Pod con etichette e abbiamo creato e puntato un servizio a quei Pod che corrispondono all’etichetta. Abbiamo anche visto come i Pod e i Servizi che corrispondono alle etichette possono essere cancellati.
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.