Kubernetes: 'true' und 'false' können nicht als Labelwert verwendet werden

Erstellt am 20. März 2016  ·  3Kommentare  ·  Quelle: kubernetes/kubernetes

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.

siapi-machinery

Hilfreichster Kommentar

Zitiere sie.

Alle 3 Kommentare

Etiketten sind Zeichenfolgen.

Zitiere sie.

folge @bgrant0607
Fest.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen