kubernetes 如何在多个存储库中使用Helm模板?

nwo49xxi  于 2023-01-08  发布在  Kubernetes
关注(0)|答案(3)|浏览(142)

我有几个微服务,它们在YAML中有几乎相同的设置,一些值会改变(例如,图像,版本,特定的环境变量...),它们在不同的存储库中,每个都有不同的管道。我如何在它们之间使用相同的模板而不获得重复的代码?

rxztt3cl

rxztt3cl1#

我现在工作的地方就是这么做的。
我们有自己的通用Helm图表,该图表受版本控制并托管在Artifactory中,该图表中可能需要更改的每个参数都在values.yaml中公开。
Artifactory作为存储库添加到helm中,然后您只需为要部署的每个微服务单独使用values. yaml,因为图表是集中获取的。
第一个月
最重要的是,我们使用helmfile,但这不是必要的,以实现您的目标。
要点是:

  • 使图表通用
  • 集中托管它
  • 将存储库添加到helm。
yyhrrdl8

yyhrrdl82#

您还可以更新管道中的.yaml值,然后打包图表并部署它。这样,您仍然可以拥有相同的yaml文件,但值将因部署的管道而异。
另一种简单的方法是在helm图表本身中为不同的环境维护不同的值.yaml,并在helm安装/从管道升级期间传递它们。

pftdvrlh

pftdvrlh3#

我们为大约90个微服务这样做。我们有共同的图表,我们通过sed脚本来运行值文件,这会改变我们所需要的。然后整个包被部署

相关问题