依序依序部署Helm Charts

时间:2019-05-13 19:42:43

标签: docker kubernetes kubernetes-helm

我正在通过Helm和分er在Kubernetes Cluster中部署多个Helm子图。在开始安装其他图表及其容器之前,如何确保特定图表完全安装了其容器?

我查看了requirements.yaml和钩子,它们看起来都不是我想要的解决方案。

while

我有多个子图,并希望在头盔安装其他图表及其容器之前确保App1的容器已准备就绪。

3 个答案:

答案 0 :(得分:0)

我认为舵图方面没有任何东西,但您可以使用init容器解决。

如果您的图表中有数据库并且被应用程序使用,并且崩溃了,则可以使用init容器检查以完成pod的生命周期。

有关更多信息,请参见:https://github.com/helm/helm/issues/1713

答案 1 :(得分:0)

最近偶然发现了同一问题。我有一个RabbitMQ作为Helm软件包,还有两个我在本地构建的Helm软件包。

我想将这三个文件收集在一个Helm软件包中,但是找不到订购Helm图表安装的方法,因为例如其他两个软件包都需要RabbitMQ凭证。

我发现使用挂钩给解决方案带来了不必要的复杂性,我更喜欢按照自己想要的顺序简单地单独安装它们,而我可以在步骤之间进行任何手动更改。

这里是一个article,讨论了这个主题,您可能会感兴趣。

现在,如果您愿意尝试Helmsman,可能有一种适当地排序依赖关系的方法。因为我刚刚发现了它,所以我无法做出任何判断,但是可以从“功能”下的自述文件中找到它:

  

定义发布的管理顺序:您可以定义由helmsman管理发布的优先级(对依赖项有用)。

Here是相关文档。

答案 2 :(得分:0)

您应该查看helmfile并将每个应用程序的堆栈拆分为一个helmfile。由于文件夹内的helmfile以字母顺序应用,因此您可以通过文件命名约定来确保顺序。

文件结构:

helmfile.d/
  00-app-1.yaml
  01-app-2.yaml
  02-app-n.yaml

使用以下命令执行它:helmfile -f path/to/directory