安装预先生成的 Helm Chart

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

我想拦截helm YAML并使用Python脚本对其进行自定义,然后安装它。我一直在做类似

helm template | python3 script... | kubectl apply -f -
的事情,但当然这不会在我的集群中创建 helm 版本,所以我失去了
helm rollback
等。

我考虑过使用 Kustomize,但它没有我想要的功能。

有没有办法获取预先生成的 YAML,例如来自

helm template
helm install --dry-run
的 YAML,然后使用 helm 安装/升级该 YAML?

kubernetes kubernetes-helm
1个回答
2
投票
这不就是后期渲染器的用途吗?

参见

https://helm.sh/docs/topics/advanced/#post-rendering

后渲染器可以是接受 STDIN 上渲染的 Kubernetes 清单并在 STDOUT 上返回有效 Kubernetes 清单的任何可执行文件。如果发生故障,它应该返回非 0 退出代码。这是两个组件之间唯一的“API”。它为您在渲染后过程中可以执行的操作提供了极大的灵活性。

后期渲染器可与安装、升级和模板一起使用。要使用后渲染器,请使用 --post-renderer 标志以及您要使用的渲染器可执行文件的路径:

$ helm install mychart stable/wordpress --post-renderer ./path/to/executable


我自己还没有使用过它,但如果你想运行自己的替代方案 kustomize,它看起来很有趣。

有关非 kustomize 的示例,请参阅

https://github.com/vmware-tanzu/carvel-ytt/tree/develop/examples/helm-ytt-post-renderer

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