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.
Kubernetes
Valide os rótulos e confira quais condições selecionam cada recurso informado.
As entradas ficam neste navegador. Sem upload, conexão com o cluster ou consulta à rede.
= · == · != · 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.
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.
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.
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.
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.
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.
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.
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.
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.
"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.
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.
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.
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.
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.
!= 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?
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.