2017-03-08 2 views
1

Ich versuche Knoten Affinität zu setzen nodeSelector mit wie hier diskutiert: https://kubernetes.io/docs/user-guide/node-selection/Kubernetes nodeSelector nicht in Schoten arbeiten, Replikation Controller und Installationen

Doch egal, ob ich einen Pod verwenden, einen Replication-Controller oder ein Deployment, Ich kann das kubectl create nicht richtig funktionieren lassen. Das ist der Fehler, den ich bekommen, und es geschieht mit allem, was in ähnlicher Weise:

Fehler vom Server (BadRequest): Fehler, wenn "Test-pod.yaml" creating: Pod in der Version "v1" kann nicht als Pod behandelt werden : [pos 222]: json: erwarten char '"' bekam aber char 't'

Substitute "Deployment" oder "ReplicationController" für "Pod" und es ist der gleiche Fehler überall Hier ist meine yaml Datei für. der Test pod:

Wenn ich den nodeSelector Teil der Datei entfernen, die po d baut erfolgreich auf. Dies funktioniert auch mit Bereitstellungen und Replikationscontrollern. Ich stellte sicher, dass das richtige Label zum Knoten hinzugefügt wurde.

Jede Hilfe wäre willkommen!

+0

Es ist der Begriff könnte man hier verwenden. Angenommen, beim Erstellen einer Konfiguration werden Schlüssel, die in einem anderen Kontext verwendet werden, reserviert. Nennen Sie es * myIngress * und sehen Sie, was passiert. –

+0

Ah ja. Bin ein bisschen von der gleichen Sache, als ich versehentlich ein 'wahres 'da drin gelassen habe (unquoted). – 3cheesewheel

Antwort

0

In yaml wertet das Token yes auf einen booleschen true (http://yaml.org/type/bool.html)

Intern kubectl yaml wandelt als Vorverarbeitungsschritt JSon. Ihr Knotenwähler konvertiert in "nodeSelector":{"ingress":true}, was fehlschlägt, wenn versucht wird, in eine String-zu-String-Map zu decodieren.

Sie können die Zeichenfolge zitieren wie diese es zu zwingen, als String behandelt werden: ingress: "yes"

+0

Danke! Dieser Fix hat funktioniert. – cygnus8595

Verwandte Themen