Choisir la source des labels
Le mode ressources accepte un objet, un tableau ou un type List ou *List contenant un tableau items. Il ne lit que metadata.labels, sans parcourir le modèle de Pod d’un Deployment.
Kubernetes
Vérifiez les labels, puis inspectez les conditions appliquées à chaque ressource fournie.
Les entrées restent dans ce navigateur. Aucun envoi, aucune connexion au cluster ni requête réseau.
= · == · != · in · notin · key · !key. Les virgules imposent un ET ; un sélecteur vide accepte toutes les entrées.
Limites : 500 000 caractères JSON, 8 192 pour le sélecteur, 500 ressources, 64 conditions, 256 labels par ressource.
Sémantique : Kubernetes 1.35 / apimachinery v0.35.0 ; égalité, ensembles et existence.
Entrée modifiée. Relancez le test avant l’export.
Un sélecteur de labels Kubernetes peut inclure un Pod auquel vous ne pensiez pas : env!=prod accepte aussi un objet sans clé env. Avant de changer une requête ou un Service, examinez les résultats de chaque condition, et pas seulement le nombre de correspondances.
Le mode objet de labels lit tout l’objet ; le mode ressources lit metadata.labels. Les deux entrées sont conservées séparément. Un label nommé metadata reste donc un label, sans détection automatique ambiguë.
Ce sélecteur de labels Kubernetes évalue toutes les conditions, même après un premier échec. Un Pod web de développement peut satisfaire app=web et !paused tout en échouant sur la liste des environnements. Vous identifiez le critère précis à revoir, sans retirer des filtres au hasard.
Un label dont la valeur est "" existe toujours. Une clé absente ne possède aucune valeur. Le rapport distingue ces deux situations pour expliquer les conditions négatives et éviter de les prendre pour de simples tests d’existence.
Le mode ressources accepte un objet, un tableau ou un type List ou *List contenant un tableau items. Il ne lit que metadata.labels, sans parcourir le modèle de Pod d’un Deployment.
Remplacez production par development, puis supprimez environment pour comparer in et notin. Le test automatique attend 350 ms après la saisie. Désactivez-le pour lancer le test avec le bouton ou Ctrl/Cmd + Entrée.
Dépliez une ressource pour voir les labels et toutes les conditions. L’affichage avance par 50 entrées ; le rapport copié ou téléchargé reste complet. Toute modification bloque l’export jusqu’à un nouveau résultat valide.
Le préfixe DNS facultatif utilise des minuscules et compte au plus 253 caractères. Le nom contient de 1 à 63 caractères ASCII autorisés, avec majuscules possibles. La valeur peut être vide ou atteindre 63 caractères. Les préfixes réservés restent valides du point de vue syntaxique.
Un sélecteur de label peut combiner =, == et != avec in ou notin. Un sélecteur basé sur un ensemble regroupe les valeurs possibles d’une même clé. Les virgules entre conditions imposent un ET : ajouter une égalité réduit les possibilités au lieu de créer un OU.
Le rapport conserve l’index, le chemin JSON et, s’ils sont présents, le type, le namespace et le nom. metadata ou labels absent ou null donne une map vide. Les noms identiques ne provoquent aucune fusion ; chaque objet garde son résultat.
Dans les labels et sélecteurs, "01" et "1" sont des chaînes différentes. Les nombres, booléens et valeurs null sont refusés comme valeurs de label. Les clés JSON dupliquées sont aussi rejetées, au lieu de laisser la dernière valeur masquer la précédente.
Séparez les exigences par des virgules, par exemple app=web,environment=production. Toutes doivent être satisfaites. Conservez le préfixe du nom : app.kubernetes.io/name et name désignent deux clés différentes.
Pas entre des clés différentes avec cette syntaxe. Pour plusieurs valeurs d’une même clé, utilisez environment in (production,staging). Deux égalités séparées par une virgule imposent au contraire un ET, parfois impossible à satisfaire.
Oui : {"maintenance":""} représente une valeur vide. maintenance teste l’existence ; maintenance= exige une valeur vide présente ; !maintenance exige l’absence. Dans la syntaxe chaîne, maintenance in () contient une valeur vide et ne représente pas un ensemble sans élément.
Non. Vérifiez d’abord les labels des Pods attendus, puis le namespace, leur état de disponibilité et les endpoints dans le cluster. Cette page ne connaît que les objets collés ; une correspondance ne garantit pas que le Service puisse acheminer le trafic.
!= et notin acceptent aussi une clé absente. Pour exiger sa présence et une valeur autre que prod, écrivez env,env!=prod. Le détail du rapport sépare ce cas de celui où env possède une autre valeur.
Une question reste sans réponse ?
Appliquez ce sélecteur de labels Kubernetes à votre JSON et examinez les conditions en échec avant de modifier une configuration de workload.