Il semble que les ressources ne puissent pas être créées avec une valeur d'étiquette définie sur "true" ou "false".
Avec le yaml suivant,
template:
metadata:
labels:
environment: test
release: false
tier: frontend
J'obtiens une erreur :
$ kubectl create -f replicaset.yaml
unable to decode "replicaset.yaml": [pos 341]: json: expect char '"' but got char 'f'
mais changer pour
template:
metadata:
labels:
environment: test
release: stable
tier: frontend
Pas d'erreur:
$ kubectl create -f replicaset.yaml
replicaset "replicaset" created
La documentation de l'étiquette ne mentionne pas ce cas.
Valid label values must be 63 characters or less and must be empty or begin and end with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and alphanumerics between.
Le cas d'utilisation pour utiliser 'true' comme valeur d'étiquette consiste à utiliser le sélecteur "Exist", "NotExist", où vous n'avez pas de valeur d'étiquette significative.
Je n'ai pas encore testé, mais si l'analyseur yaml le convertit en valeur booléenne typée avant même que nous obtenions la valeur, cela ne sera peut-être pas facile à corriger ? Si c'est le cas et que nous ne voulons pas l'appuyer, alors je pense que nous le documentons au moins d'une manière ou d'une autre.
Les étiquettes sont des chaînes.
Citez-les.
suivre @bgrant0607
fixé.
Commentaire le plus utile
Citez-les.