[英]How to prevent helm upgrade from treating string as bool?
我正在運行helm upgrade
命令來安裝某個圖表。 我需要設置的值之一是這樣的:
helm upgrade --install someService someChart `
--set coredns.service.annotations."service\.beta\.kubernetes\.io/azure-load-balancer-internal"="true"
我已經成功地將它與其他圖表一起使用,但在這個特定的圖表上我得到了錯誤
Error: unable to build kubernetes objects from release manifest: unable to decode "": json: cannot unmarshal bool into Go struct field ObjectMeta.metadata.annotations of type string
所以看起來 helm 會自動將true
轉換為 bool。 我已經嘗試使用="\"true\""
但這也沒有幫助。
有什么想法可以告訴 helm 不要將其轉換為 bool 嗎? (我無法控制舵圖)
您可以使用helm upgrade --set-string
強制 Helm 將值解釋為字符串。
helm upgrade --install someService someChart \
--set-string coredns...=true
注意helm install --set
有一些不尋常的語法和引用規則; 您已經看到需要在值名稱中轉義句點。 您可能會發現編寫安裝特定值的 YAML(或 JSON)文件並使用helm install -f
選項傳遞它更清晰。
coredns:
service:
annotations:
service.beta.kubernetes.io/azure-load-balancer-internal: "true"
helm upgrade --install someService someChart \
-f local-values.yaml
這是一個獨立於圖表一部分的values.yaml
文件的文件,它的值與圖表的值合並,本地值優先。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.