如何解决如何在多个存储库中使用Helm模板?
我有几种微服务,它们在YAML中的设置几乎相同,有些值会发生变化(例如,图像,版本,特定的环境变量...),它们位于不同的存储库中,每个存储库具有不同的管道。如何在它们之间使用相同的模板而又不会得到重复的代码?
解决方法
这就是我们在目前工作的地方所做的事情。
我们有自己的通用Helm图表,由版本控制并托管在Artifactory中,该图表中可能需要更改的每个参数都在values.yaml中公开。
Artifactory作为存储库添加到掌舵中,因此,当图表集中来源时,您只需要为要部署的每个微服务分别设置一个values.yaml。
helm install -f values.yaml microservice01 artifcatory/global-helm-chart
最重要的是,我们使用helmfile,但这对于实现您的目标不是必需的。
关键点是:
- 使图表通用
- 集中托管
- 将存储库添加到掌舵中。
您还可以从管道中更新values.yaml,然后打包图表并将其部署。这样,您仍然可以拥有相同的yaml文件,但是值将与部署它们的管道不同。
另一种简单的方法是在头盔图表本身中针对不同的环境维护不同的value.yaml,并在从管道进行头盔安装/升级期间传递它们。
,我们为大约 90 个微服务做这件事。我们有共同的图表,我们通过一种改变我们需要的 sed 脚本运行值文件。然后整个包被部署
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。