【发布时间】:2021-09-04 21:32:10
【问题描述】:
当您运行 helm create mychart 时,它的 imagePullSecrets 定义如下:
spec:
{{- with .Values.imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }
在默认值文件中,它看起来像是在传递一个空白数组:
imagePullSecrets: []
我已经有一堆使用此设置的默认模板构建的图表。以前我不需要使用 imagePullSecrets,所以我只是保持原样,但现在我有一些情况,我想在部署时通过 cli 设置它。
Helm 现在支持数组,但这似乎不起作用:
--set "mychart.imagePullSecrets[0].name={reg-creds}"
返回:
Error: UPGRADE FAILED: error validating "": error validating data: ValidationError(Deployment.spec.template.spec.imagePullSecrets[0].name): invalid type for io.k8s.api.core.v1.LocalObjectReference.name: got "array", expected "string"
然后我尝试传递一个字符串:
--set "mychart.imagePullSecrets='- name: reg-creds'"
Error: unable to build kubernetes objects from release manifest: error validating "": error validating data: ValidationError(Deployment.spec.template.spec.imagePullSecrets): invalid type for io.k8s.api.core.v1.PodSpec.imagePullSecrets: got "string", expected "array"
这些错误信息令人愤怒。是否可以使用--set 设置此值,这样我就可以避免重构我的所有图表?
【问题讨论】:
标签: kubernetes-helm helm3