Labels and Selectors
Labels e Selectors são formas de agrupar recursos no Kubernetes.
Vamos imaginar que temos esse grupo de animais.

Poderíamos agrupar por diferentes critérios, por exemplo:
-
Por classes.

-
Por tipos se são selvagens ou domésticos.

-
Por cor.

-
Ou até mesmo por múltiplos critérios.
Qualquer recurso no Kubernetes pode ter várias Labels. É uma boa prática sempre utilizar Labels para conseguir filtrar os recursos.

Para especificar o que estamos procurando, fazemos uso dos Selectors. Eles são fundamentais para vincular componentes no Kubernetes. Sempre empregamos rótulos (Labels) dentro dos metadados dos objetos, podendo definir quantos rótulos forem necessários. Dessa forma, os rótulos formam uma lista de chave-valor flexível.
apiVersion: v1
kind: Pod
metadata:
name: simple-webapp
labels:
app: webapp
function: frontend
...
Como mencionado anteriormente, podemos selecionar os Pods específicos que desejamos ao procurar um Pod.
kubectl get pods --selector app=webapp
As Labels são empregadas para agrupar elementos, enquanto as Annotations são utilizadas para fornecer informações adicionais, como versões e detalhes de integração de funcionalidades.
Para imprimir os Pods sem a primeira linha do cabeçalho.
kubectl get pods --selector app=webapp --no-headers
E para contar as linhas para saber o número de Pods
kubectl get pods --selector app=webapp --no-headers | wc -l