Pular para o conteúdo principal

Labels and Selectors

Labels e Selectors são formas de agrupar recursos no Kubernetes.

Vamos imaginar que temos esse grupo de animais.

Alt text

Poderíamos agrupar por diferentes critérios, por exemplo:

  • Por classes. Alt text

  • Por tipos se são selvagens ou domésticos. Alt text

  • Por cor. Alt text

  • 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.

Alt text

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