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.