Kubernetes 取消设置/删除helm values.yaml中的默认值

Kubernetes 取消设置/删除helm values.yaml中的默认值,kubernetes,kubernetes-helm,Kubernetes,Kubernetes Helm,我通过helm inspect下载了一个名为sftp.yaml的文件 我在sftp.yaml文件中有一个参数:- sftp: allowedMACs: "hmac-sha2-512" allowedCiphers: aes256-ctr 现在,如果我在注释掉自定义值文件(即“sftp.yaml”)中的整行“allowedMACs”后安装相应的头盔图表,那么K8s将获取sftp.yaml和实际值.yaml的增量,然后使用values.yaml的“allowed

我通过helm inspect下载了一个名为sftp.yaml的文件

我在sftp.yaml文件中有一个参数:-

sftp:
    allowedMACs: "hmac-sha2-512"
    allowedCiphers: aes256-ctr
现在,如果我在注释掉自定义值文件(即“sftp.yaml”)中的整行“allowedMACs”后安装相应的头盔图表,那么K8s将获取sftp.yaml和实际值.yaml的增量,然后使用values.yaml的“allowedMACs”

然而,我想要的是,如果在“sftp.yaml”自定义值文件中注释了“allowedMACs”行,那么它就不应该设置env变量,或者将其设置为null

目前,我的部署文件的env部分如下所示

  - name: MACs
    value: {{ default "" .Values.sftp.allowedMACs | quote }}

是的,我认为helm会从所有值文件中检索值,所以如果
allowedMACs
在其中一个文件中,它就会被填充。如果此参数仅受
sftp.yaml
文件的影响,那么它是否真的只属于它,并且从主值中删除它是否有意义。yaml?

如果您只注释掉没有执行上述任何操作的部分,并且将使用默认值,则需要覆盖(使用新值)或取消设置该值

基本上,您希望取消设置默认值。根据这一点,可以这样做:

helm install stable/chart-name --set sftp.allowedMACs=null
也可以以类似的方式使用替代值文件:

sftp:
    allowedMACs: null
    allowedCiphers: aes256-ctr

自版本2.6起,这在Helm中可用。如果您喜欢深入的信息,可以查看和随后介绍该功能的内容。

谢谢@Annaslatnikova。但我只想使用SFTPYAML,甚至不考虑价值。YAML(在图表中)只为。有没有一种方法可以使用Go模板完成此操作?您如何部署此图表?您是否正在使用
--set
参数?还有,你是如何评论这一行的。你能提供你的YAML吗?你还可以分享更多关于你的环境的信息吗?