【问题标题】:Manipulate Helm chart values (not `values.yaml`) at installation time在安装时操作 Helm 图表值(不是 `values.yaml`)
【发布时间】:2021-01-15 11:04:51
【问题描述】:

有没有人在安装 Helm 图表时想出任何方法来操纵图表(不是 values.yaml)?

例如,我有一个基本上可以做到的 bash 脚本

helm3 upgrade --install <options>

无论resources.limits.cpu 的值在我的任何图表中如何,我都希望在安装任何图表时将其设置为特定值。如果我所有的图表都使用{{ .Values.resources.limits.cpu }},我可以使用--set,但我的图表不一致。从长远来看,正确的解决方案是拥有一致的图表,但我正在寻找一种快速而肮脏的方式。

【问题讨论】:

  • 您是否尝试调整图表输出中的设置,因为输入值的格式不一致?
  • 是的,我想你可以这么说。
  • Helm 有一个 post-rendering hook 应该能够做到这一点,但我自己从未使用过。

标签: kubernetes kubernetes-helm


【解决方案1】:

我不认为你可以用 helm 改变它。但是您可以尝试使用 mutating webhook,如下所示:https://github.com/garethr/kubernetes-webhook-examples/blob/master/src/app.py#L38-L41 在创建时更改运行中的 pod 规范。

但是,如果您没有使用任何 helm 特定功能并且仅将其用作模板引擎,则可以尝试以下快速而肮脏的 hack:

helm template  . | yq e '.spec.template.spec.containers[].resources.limits.cpu = "123"' /dev/stdin

注意使用helm template(渲染模板)和yq(更改限制值)

【讨论】:

    猜你喜欢
    • 2020-06-04
    • 1970-01-01
    • 1970-01-01
    • 2020-04-15
    • 2021-12-18
    • 2021-06-17
    • 1970-01-01
    • 2020-05-16
    • 1970-01-01
    相关资源
    最近更新 更多