如何删除 Helm 中的嵌套变量

问题描述 投票:0回答:1

我在舵值文件中有以下值

http:
  - match:
    - headers:
        end-user:
          test: true
    route:
    - destination:
        host: apie
        service: 'svc-1'
  - route:
    - destination:
        host: api
        service: 'svc-2'

并且想要使用 helm 模板删除

service

kubernetes-helm
1个回答
0
投票

helm 在删除密钥方面的行为因版本而异。

在某些早期版本的 helm 中,您可以通过以下方式将其从子模板中删除:

http:
  - route:
    - destination:
        service: null

在某些情况下,这仍然有效。我建议首先尝试这个,因为如果它支持您的特定情况,它是最简单的。

在Helm 3.13.1中,我是这样解决的:

在我的子模板中,我有一个像这样的唯一键:

http:
  - route:
    - destination:
        service: nulledForRemoval

运行

install
upgrade
template
命令时,我按照问题 9027
 中的建议传递以下附加标志 
--post-renderer grep --post-renderer-args -v --post-renderer-args nulledForRemoval。结果是我的最终图表没有 http:route:destination:service
 键。

© www.soinside.com 2019 - 2024. All rights reserved.