掌舵服务集合

时间:2018-07-26 18:59:17

标签: kubernetes kubernetes-helm

我有一个Kubernetes集群,该集群运行许多独立的离散服务。我想使用头盔来部署它们,并且为每个单独的资源都制作了头盔图。

但是,现在我希望能够将集群作为单个实体进行部署,但是我不清楚掌舵如何支持将多个图表缝合在一起。

当我查看示例存储库时,它们只是在单个图表的模板文件夹中包含每个模板文件,然后是一个庞大而庞大的Values.yaml文件。

在我看来,这似乎是无稽之谈,尤其是在2000行Values.yaml上爬行以查找设置。

有没有办法采用如下所示的文件夹结构:

helm
|____ Service1
      |_______ values.yaml
      |_______ templates
      Service2
      |_______ values.yaml
      |_______ templates
      Service3
      |_______ values.yaml
      |_______ templates

并将其打包到一个部署中,而无需手动合并和删除重复数据和值?

2 个答案:

答案 0 :(得分:4)

我们也有类似的场景,其中我们有独立的应用程序,要么需要一起部署以解决跨它们的功能,要么分别部署以解决错误。 我们最终使用了helmfile(https://github.com/roboll/helmfile)。 每个应用程序仍然使用helmfile维护自己的图表,我们可以根据需要完全部署它们。

答案 1 :(得分:3)

使用helm subcharts

您需要使用诸如元图myapps之类的东西。然后,您将像这样添加一个requirements.yaml文件:

# myapp/requirements.yaml
dependencies:
  - name: Service1
    repository: http://localhost:10191
    version: 0.1.0
  - name: Service2
    repository: http://localhost:10191
    version: 0.1.0
  - name: Service3
    repository: http://localhost:10191
    version: 0.1.0