Kubernetes

seletor de rótulos Kubernetesentenda cada correspondência

Valide os rótulos e confira quais condições selecionam cada recurso informado.

seletor de rótulos Kubernetes

Rótulos ou recursos JSON

Resultados da correspondência

As entradas ficam neste navegador. Sem upload, conexão com o cluster ou consulta à rede.

Formato de entrada e sintaxe

= · == · != · in · notin · key · !key. Vírgulas combinam condições com AND; um seletor vazio corresponde a tudo.

Limites: 500.000 caracteres JSON, 8.192 no seletor, 500 recursos, 64 condições e 256 rótulos por recurso.

Semântica: Kubernetes 1.35 / apimachinery v0.35.0; igualdade, conjuntos e existência.

A entrada mudou. Teste novamente antes de exportar.

Um seletor de rótulos Kubernetes pode trazer mais Pods do que você esperava. env!=prod também aceita um objeto que nem possui a chave env. Antes de alterar um Service ou uma consulta, confira cada condição, em vez de confiar apenas na contagem final.

O modo mapa lê o objeto inteiro como rótulos. O modo recursos lê metadata.labels. Cada um mantém sua própria entrada, evitando que um rótulo chamado metadata seja confundido com a estrutura externa de um recurso.

Por que conferir um seletor de rótulos Kubernetes?

Descubra qual condição excluiu o recurso

Este seletor de rótulos Kubernetes avalia toda a lista de condições, mesmo depois de uma falha. Um Pod web de desenvolvimento pode passar em app=web e !paused, mas ficar fora do conjunto de ambientes. O relatório mostra o ponto exato a revisar sem remover filtros por tentativa e erro.

Três cartões de recursos passam por uma sequência de condições; apenas aquele que atende a todas chega ao grupo selecionado.

Separe valor vazio de chave ausente

Um rótulo com valor "" continua existindo. Já uma chave ausente não tem valor algum. A explicação distingue essas situações, ajudando a entender por que uma condição negativa pode passar mesmo sem o rótulo.

Cartões com campo preenchido, campo vazio e campo ausente seguem caminhos de decisão próprios.

Três verificações antes de usar a consulta

01

Escolha de onde ler os rótulos

O modo recursos aceita um objeto, um array ou um tipo List ou *List com array items. Somente metadata.labels é lido. Os rótulos do modelo de Pod de um Deployment não são extraídos automaticamente.

02

Teste o caso em que a chave não existe

Mude production para development e depois remova environment. Compare in e notin. O modo automático espera 350 ms após a digitação; no modo manual, use o botão ou Ctrl/Cmd + Enter.

03

Confira o detalhe antes de salvar

Expanda o recurso para ler os rótulos e todas as condições. A tela acrescenta 50 entradas por vez, mas a cópia e o download incluem o lote inteiro. Qualquer edição bloqueia a exportação até a conclusão de um novo teste.

Validação e seleção com explicações concretas

Validação de chaves e valores

O prefixo DNS opcional deve estar em minúsculas e ter até 253 caracteres. O nome usa de 1 a 63 caracteres ASCII permitidos, inclusive maiúsculas. O valor pode ser vazio ou ter até 63 caracteres. Prefixos reservados não são considerados inválidos apenas por serem reservados.

Igualdade e conjuntos combinados

Os seletores de rótulos aceitam =, ==, !=, in e notin. Vírgulas entre condições significam AND. Para aceitar vários valores de uma mesma chave, coloque-os em um único in; duas condições de igualdade não funcionam como alternativas.

Cada objeto permanece identificável

O seletor de recursos mantém índice, caminho JSON e os campos de tipo, namespace e nome, quando informados. metadata ou labels ausente ou null vira um mapa vazio. Nomes repetidos não são mesclados; cada entrada continua tendo seu próprio resultado.

Sem mudar o tipo dos dados

"01" e "1" são strings diferentes, inclusive em rótulos de nós. Números, booleanos e null são recusados como valores de rótulo. Chaves JSON duplicadas também geram erro, para impedir que o último valor esconda o primeiro durante o teste.

Limites de entrada e alcance do resultado

Um subconjunto explícito da sintaxe
A referência é Kubernetes 1.35 / apimachinery v0.35.0 para igualdade, conjuntos e existência. Não há comparação numérica com < ou >, OR entre chaves, curingas, expressões regulares, field selectors ou simulação de afinidade de nós.
JSON estrito e escolha de modo
Comentários e vírgulas finais são recusados. Não são aceitos YAML, arquivos, URLs nem objetos estruturados matchLabels ou matchExpressions. Um tipo List exige array items; recursos comuns são avaliados pelo próprio metadata.labels, sem buscar campos em outros níveis.
Lotes limitados, sem sucesso parcial
São permitidos 500.000 caracteres JSON, 8.192 no seletor, 500 recursos, 64 condições e 256 rótulos por recurso, contados em unidades UTF-16. O parser também limita profundidade a 100, nós a 50.000 e números a 1.000 caracteres. Um rótulo inválido interrompe todo o lote em vez de ser ignorado.
Uma expressão vazia tem significado local
Aqui a string vazia seleciona todos os objetos válidos, inclusive mapas vazios. O editor JSON vazio indica falta de entrada; use {} para um mapa sem rótulos. Seletores vazios de Service e seletores estruturados null podem ter outra semântica, conforme a API.
Relatório de inspeção, não manifesto
O arquivo inclui identidade, rótulos e condições, deixando de fora os demais campos do recurso. Não corrige rótulos nem verifica prontidão, endpoints, rotas ou propriedade de controladores. Obtenha os objetos com kubectl, confira os labels aqui e valide o estado real do cluster separadamente.

Dúvidas sobre o seletor de rótulos Kubernetes

Como consultar Pods por vários rótulos?

Separe os requisitos por vírgulas, como app=web,environment=production. Ambos precisam ser atendidos. Preserve o prefixo DNS da chave: app.kubernetes.io/name e name representam rótulos diferentes.

É possível usar OR entre condições?

Não entre chaves diferentes nessa sintaxe. Para valores alternativos da mesma chave, use environment in (production,staging). Duas igualdades separadas por vírgula exigem os dois valores simultaneamente e podem não selecionar nada.

Um rótulo pode ter chave sem valor?

Sim. Escreva {"maintenance":""} no JSON. maintenance verifica a existência, maintenance= exige uma string vazia presente e !maintenance exige que a chave não exista. Na sintaxe textual, maintenance in () também contém uma string vazia, não um conjunto sem elementos.

Um Service sem endpoints está com o seletor errado?

Essa é uma possibilidade, não a única. Confira os rótulos dos Pods esperados e depois o namespace, a prontidão e os endpoints no cluster. Esta página só conhece a entrada colada; uma correspondência não comprova que o Service encaminha tráfego.

Por que env!=prod corresponde mesmo sem env?

!= e notin também aceitam a ausência da chave. Para exigir env presente com valor diferente de prod, use env,env!=prod. A explicação por condição separa uma chave ausente de uma chave existente com outro valor.

Ainda tem uma dúvida sobre o seletor?

Confira os rótulos presentes na entrada

Aplique o seletor de rótulos Kubernetes ao JSON atual e examine as condições que falham antes de alterar a configuração do workload.