如何管理Kubernetes舵图配置?

时间:2019-12-08 11:07:51

标签: git kubernetes kubernetes-helm

我想设置一个Kubernetes集群并安装多个Helm Charts。我喜欢在Git存储库中对配置进行版本控制的想法。我想知道是否有任何工具(或推荐/最佳实践)可以如何“版本化”已安装的舵图状态。

例如,我想拥有一个与以下示例类似的yaml文件,其中包含多个头盔图表和一个工具(这是我正在搜索的工具),它将负责将此文件应用于我的Kubernetes集群: / p>

- name: gitlab
  chart: gitlab/gitlab-runner
  repository: https://charts.gitlab.io
  values:
    - gitlab-runner/values.yaml
    - local/gitlab-runner-override.yaml
  namespace: gitlab-runner

- name: metallb
  chart: stable/metallb
  values:
    - metallb/configuration.yaml

...

通过这种方式,可以以编程方式管理Kubernetes集群的内容。

有什么建议吗?

2 个答案:

答案 0 :(得分:1)

看来helmfile是您需要的解决方案:

  

Helmfile是用于部署头盔图表的声明性规范。它让   你...

     

保留图表值文件的目录并维护版本更改   控制。将CI / CD应用于配置更改。定期同步到   避免在环境中倾斜。

您可以在this文章中详细了解它。

答案 1 :(得分:0)

如果我正确理解了您的要求,我认为您可以创建一个新的头盔图表,比如说custom-app。将所有其他头盔图表添加为依赖项。

基本上,在新的自定义应用程序的helm目录中创建一个名为chart/的目录,并将图表添加到其中。

这是对图表集合进行版本控制的一种方法。