Las labels son el mecanismo que utiliza para organizar los objetos de Kubernetes. Una etiqueta es un par clave-valor con ciertas restricciones relacionadas con la longitud y los valores permitidos, pero sin ningún significado predefinido. Por lo tanto, puede elegir las etiquetas como mejor le parezca, por ejemplo, para expresar entornos como ‘este pod se está ejecutando en producción’ o propiedad, como ‘el departamento X posee ese pod’.
Creemos un pod que inicialmente tenga una etiqueta (env=development):
$ kubectl apply -f https://github.com/agarciafer/rootdesdezero/tree/master/labels/pod.yaml $ kubectl get pods --show-labels NAME READY STATUS RESTARTS AGE LABELS labelex 1/1 Running 0 10m env=development En el comando anterior get pods , tenga en cuenta la opcion --show-labels que genera las etiquetas de un objeto en una columna adicional. Puede agregar una etiqueta al pod: $ kubectl label pods labelex owner=miempresa $ kubectl get pods --show-labels NAME READY STATUS RESTARTS AGE LABELS labelex 1/1 Running 0 16m env=development,owner=miempresa Para usar una etiqueta para filtrar, por ejemplo, para enumerar solo pods que tengan un valor owner igual miempresa, use la opcion --selector: $ kubectl get pods --selector owner=miempresa NAME READY STATUS RESTARTS AGE labelex 1/1 Running 0 27m La opción --selector se puede abreviar -l, por lo que para seleccionar pods que estén etiquetados env=development, haga: $ kubectl get pods -l env=development NAME READY STATUS RESTARTS AGE labelex 1/1 Running 0 27m A menudo, los objetos de Kubernetes también admiten selectores basados en conjuntos. Vamos a lanzar otro pod que tiene dos etiquetas (env=productiony owner=miempresa): $ kubectl apply -f https://github.com/agarciafer/rootdesdezero/blob/master/labels/anotherpod.yaml Ahora, enumeremos todos los pods que están etiquetados con env=development o con env=production: $ kubectl get pods -l 'env in (production, development)' NAME READY STATUS RESTARTS AGE labelex 1/1 Running 0 43m labelexother 1/1 Running 0 3m Otros verbos también admiten la selección de etiquetas, por ejemplo, puede eliminar estos dos pods con: $ kubectl delete pods -l 'env in (production, development)' Tenga en cuenta que esto destruirá cualquier pod con esas etiquetas.






