我在舵值文件中有以下值
http:
- match:
- headers:
end-user:
test: true
route:
- destination:
host: apie
service: 'svc-1'
- route:
- destination:
host: api
service: 'svc-2'
并且想要使用 helm 模板删除
service
值
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
键。