Sari la conținutul principal

Labels și selectors

Un label este o pereche cheie–valoare atașată unui obiect Kubernetes. Selectors folosesc aceste labels pentru a identifica un set de obiecte.

Pod-urile Ticketing API au următoarele labels:

labels:
app: ticketing-api
version: v1

Deployment-ul folosește label-ul app pentru a identifica Pod-urile gestionate:

selector:
matchLabels:
app: ticketing-api

Service-ul folosește același label pentru a selecta Pod-urile către care trimite trafic:

selector:
app: ticketing-api

Listați Pod-urile pe baza selectorului și afișați labels:

kubectl get pods -n cc-lab2 \
-l app=ticketing-api \
--show-labels

Comparați Pod-urile selectate cu endpoint-urile Service-ului:

kubectl get pods -n cc-lab2 -l app=ticketing-api -o wide
kubectl get endpointslices -n cc-lab2 \
-l kubernetes.io/service-name=ticketing-api \
-o wide

Service-ul nu caută Pod-uri după nume și nu memorează adresele lor IP. El selectează dinamic Pod-urile ale căror labels corespund selectorului.

atenție

Dacă selectorul Service-ului nu corespunde niciunui Pod, Service-ul continuă să existe, dar nu are endpoint-uri și nu poate trimite traficul către aplicație.