【问题标题】:Best practices for managing multiple environments with Helm使用 Helm 管理多个环境的最佳实践
【发布时间】:2019-06-14 17:51:28
【问题描述】:

我不清楚管理具有多个环境的应用程序的最佳实践是什么,该应用程序共享模板文件但每个环境具有不同的变量。例如,我们部署一个开发、登台和生产环境。他们使用相同的 helm 模板,但我为每个环境设置了不同的变量。

当前文件结构:

helm/
  ├── templates/
  │   ├── _helpers.tpl
  │   ├── deploy.yaml
  │   └── ingress.yaml
  │   └── service.yaml
  │   └── managed-certs.yaml
  │   └── NOTES.txt
  ├── Chart.yaml
  ├── values-production.yaml
  ├── values-staging.yaml
  ├── values-develop.yaml

现在每个环境都有两个不同的值文件,我将以下内容传递给 helm helm install . --values=values-production.yaml

但是,我们无法通过上述方式正确管理版本控制。

我找不到任何关于管理应用程序的多个环境的最佳实践的可靠文档。我遇到了helmfile,它似乎解决了这个问题,但他们的文档不清楚。管理 Kubernetes 的生态系统令人困惑,感谢您的帮助。

【问题讨论】:

    标签: google-kubernetes-engine kubernetes-helm helmfile


    【解决方案1】:

    Weave Flux 是处理图像和图表版本控制的好方法。它使用基于 gitops 的方法,通过更新代码存储库(用于图表版本控制)或图像存储库(用于应用程序版本控制)来管理所有内容。

    Weave Flux:https://github.com/weaveworks/flux

    Weaveworks 网站上的 Gitops 讨论:https://www.weave.works/technologies/gitops/

    使用 helm 和多个环境的示例实现:https://github.com/stefanprodan/gitops-helm/blob/master/README.md

    【讨论】:

      猜你喜欢
      • 2021-01-25
      • 2020-07-23
      • 1970-01-01
      • 2021-04-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多