Die Steuer-CLI scheint keinen Wert zu unterstützen, der ein Komma im Set-Flag für die Installation oder Aktualisierung enthält.
$ helm install --set greeting='hello, world' .
Error: failed parsing --set data: key " world" has no value
Es scheint, dass der Parser versucht, nach zusätzlichen Schlüsseln zu suchen, wenn er im Wert ein Komma findet. Ich habe mehrere Zitier- oder Fluchtstrategien ausprobiert und alle scheinen das gleiche Problem zu haben.
$ helm install --set greeting="hello, world" .
Error: failed parsing --set data: key " world" has no value
$ helm install --set "greeting=hello, world" .
Error: failed parsing --set data: key " world" has no value
$ helm install --set greeting=hello,\ world .
Error: failed parsing --set data: key " world" has no value
Die Problemumgehung besteht darin, eine Wertedatei anstelle des gesetzten Flags zu verwenden. Für meinen Anwendungsfall der Weitergabe von Konfigurationsdateien an configmaps ist es jedoch einfacher und sauberer, die Konfigurationsdateien separat zu verwalten und sie in ein gesetztes Flag zu fassen, als sie entweder zu speichern ein Yaml-Wrapper oder konstruieren Sie diesen Wrapper im laufenden Betrieb.
Funktioniert gut für mich mit \,
.
><> helm template chart/draftd/ --set image.tag="hello\, world" | grep hello
image: "microsoft/draft:hello, world"
Dies ist in der Dokumentation unter https://docs.helm.sh/using_helm/#the -format-and-einschränkungen-of-set vermerkt, daher schließe ich dies als gelöst. Bitte öffnen Sie es erneut, wenn dieses Update für Sie nicht funktioniert. Vielen Dank!
Hmm, ich hätte schwören können, dass ich versucht habe, dem Komma zu entkommen, aber ich habe gerade auf Version 2.4.0 zurückgegriffen und es hat bei allen funktioniert. Ich habe mich eindeutig geirrt, mein Schlechtes.
Wenn jemand wie ich über Google darauf stößt, lautet der aktualisierte Link zu den Dokumenten für --set
in Helm 2: https://v2.helm.sh/docs/using_helm/#the -format- and -Beschränkungen des Satzes
Hilfreichster Kommentar
Funktioniert gut für mich mit
\,
.