Kubernetes - rótulos e seletores

Etiquetas

Os rótulos são pares de valores-chave anexados a pods, controlador de replicação e serviços. Eles são usados ​​como atributos de identificação para objetos como pods e controlador de replicação. Eles podem ser adicionados a um objeto no momento da criação e podem ser adicionados ou modificados no tempo de execução.

Seletores

As etiquetas não fornecem exclusividade. Em geral, podemos dizer que muitos objetos podem carregar os mesmos rótulos. O seletor de rótulos é primitivo de agrupamento principal no Kubernetes. Eles são usados ​​pelos usuários para selecionar um conjunto de objetos.

A API Kubernetes atualmente oferece suporte a dois tipos de seletores -

  • Seletores baseados em igualdade
  • Seletores baseados em conjuntos

Seletores com base na igualdade

Eles permitem a filtragem por chave e valor. Os objetos correspondentes devem satisfazer todos os rótulos especificados.

Seletores baseados em conjuntos

Os seletores baseados em conjunto permitem a filtragem de chaves de acordo com um conjunto de valores.

apiVersion: v1
kind: Service
metadata:
   name: sp-neo4j-standalone
spec:
   ports:
      - port: 7474
      name: neo4j
   type: NodePort
   selector:
      app: salesplatform ---------> 1
      component: neo4j -----------> 2

No código acima, estamos usando o seletor de rótulos como app: salesplatform e componente como component: neo4j.

Depois de executar o arquivo usando o kubectl comando, ele irá criar um serviço com o nome sp-neo4j-standalone que se comunicará na porta 7474. O ype é NodePort com o novo seletor de rótulo como app: salesplatform e component: neo4j.