问题描述
我创建了一个名为 clickhouse 的 helm 目录:
在模板子目录中,我有一个 crd.yaml(种类:CustomresourceDeFinition),它必须在 installation.yaml(种类:ClickHouseInstallation)之前运行。现在,当我运行命令时首先运行 installation.yaml
$ helm upgrade -i clickhouse ./charts/clickhouse
如何更改订单?
注意事项:
我通过阅读此 thread 注意到有一个静态顺序。由于 ClickHouseInstallation 不是该列表的一部分,我很好奇 helm 如何对其进行排序以及如何更改该顺序。
还有这里的 yaml 文件
解决方法
我认为您可以尝试使用 Helm hooks 之类的
annotations:
"helm.sh/hook": post-install
让您的 crd.yaml 进行预安装,然后您的 installation.yaml 可以进行后安装。请查看有关 Helm 钩子的文档,关于您想要实现的目标可能存在一些缺点。
解决这个问题的另一种方法(可能很简单而且不太优雅)是为 installation.yaml 创建一个单独的 helm chart,然后先运行 crd chart。