لا يبدو أن helm cli يدعم قيمة تحتوي على فاصلة في علامة المجموعة للتثبيت أو الترقية.
$ 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
$ helm install --set greeting=hello,\ world .
Error: failed parsing --set data: key " world" has no value
يتمثل الحل البديل في استخدام ملف قيم بدلاً من علامة المجموعة ، ولكن بالنسبة لحالة الاستخدام الخاصة بي لتمرير ملفات التكوين إلى خرائط التكوين ، فمن الأسهل والأكثر نظافة إدارة ملفات التكوين بشكل منفصل ووضعها في علامة مجموعة بدلاً من تخزينها في غلاف yaml أو بناء هذا الغلاف على الطاير.
يعمل بشكل جيد بالنسبة لي مع \,
.
><> helm template chart/draftd/ --set image.tag="hello\, world" | grep hello
image: "microsoft/draft:hello, world"
تمت الإشارة إلى ذلك في الوثائق الموجودة ضمن https://docs.helm.sh/using_helm/#the -format-and-limits-of-set ، لذلك أغلق هذا على أنه تم حله. الرجاء إعادة الفتح إذا لم يعمل هذا الإصلاح بالنسبة لك. شكرا!
حسنًا ، كان بإمكاني أن أقسم أنني حاولت الهروب من الفاصلة ، لكنني عدت للتو إلى الإصدار 2.4.0 وعمل عليها جميعًا. من الواضح أنني كنت مخطئا ، يا سيئة.
إذا صادف أي شخص آخر هذا عبر Google كما فعلت أنا ، فإن الرابط المحدث للمستندات مقابل --set
في Helm 2 هو: https://v2.helm.sh/docs/using_helm/#the -format-and -حدود-من-مجموعة
التعليق الأكثر فائدة
يعمل بشكل جيد بالنسبة لي مع
\,
.