Es scheint, dass Ressourcen nicht erstellt werden können, wenn der Labelwert auf "true" oder "false" gesetzt ist.
Mit dem folgenden yaml,
template:
metadata:
labels:
environment: test
release: false
tier: frontend
Ich bekomme einen Fehler:
$ kubectl create -f replicaset.yaml
unable to decode "replicaset.yaml": [pos 341]: json: expect char '"' but got char 'f'
aber ändere zu
template:
metadata:
labels:
environment: test
release: stable
tier: frontend
Kein Fehler:
$ kubectl create -f replicaset.yaml
replicaset "replicaset" created
In der Etikettendokumentation wird dieser Fall nicht erwähnt.
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.
Der Anwendungsfall für die Verwendung von 'true' als Labelwert ist die Verwendung des Selektors "Exist", "NotExist", wo Sie keinen aussagekräftigen Labelwert haben.
Ich habe es noch nicht getestet, aber wenn der Yaml-Parser es in einen eingegebenen booleschen Wert umwandelt, bevor wir den Wert überhaupt erhalten, ist es möglicherweise nicht einfach zu beheben? Wenn ja und wir es nicht unterstützen wollen, dann denke ich, dass wir es zumindest irgendwie dokumentieren.
Etiketten sind Zeichenfolgen.
Zitiere sie.
folge @bgrant0607
Fest.
Hilfreichster Kommentar
Zitiere sie.