【问题标题】:package helm chart referencing extra config file包 helm chart 引用额外的配置文件
【发布时间】:2019-09-20 05:28:31
【问题描述】:

我有一个舵图,我需要使用命令 helm package https://helm.sh/docs/helm/#helm-package 打包,但问题是我需要根据环境将 values.yaml 文件替换为额外的配置文件

通常我会引用这个额外的配置文件

用于质量检查

helm install -f myvalues-qa.yaml -f override-qa.yaml --set foo=bar-qa --set foo=newbar-qa ./redis

用于生产

helm install -f myvalues-prod.yaml -f override-prod.yaml --set foo=bar-prod --set foo=newbar-prod ./redis

但是现在因为我想打包这个redis helm图表,我该如何打包它以便我可以根据环境切换哪些配置文件或额外的变量?

这是我尝试过的

helm package -f myvalues-qa.yaml ./redis

错误:未知速记标志:'f' in -f 。

解决这个问题的最佳方法是什么?

【问题讨论】:

  • 为什么不在图表中保留所有值文件?我觉得没什么不好的。
  • 因为不同环境的值不同..例如,QA 与 PROD 不同

标签: kubernetes kubernetes-helm


【解决方案1】:

打包 Helm 图表时,无法自定义值。这是因为 helm chart 是应用程序的通用定义,可在一个环境中重复使用到另一个环境,在安装时通过值进行自定义。

除此之外,我知道您需要一种方法来存储每个特定环境的发布定义(包括舵图和值)。有很多工具可以让你以声明的方式定义发布,这里有一些:

因此,您有一个存储通用应用程序的打包图表和存储此图表版本定义的另一个文件。

【讨论】:

  • "...which is customized at installing via values..." 有没有办法通过引用具有多个值的 yaml 文件来自定义值?当需要修改 20 个值时,它会变得太难看。这就是为什么需要额外的文件来修改多个值
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-04
  • 2020-04-01
  • 2022-11-14
  • 1970-01-01
  • 2020-01-26
  • 1970-01-01
相关资源
最近更新 更多