Kubernetes - Helm 不升级 cron 作业

Kubernetes - Helm not upgrading cron job

我已经使用 Helm 将很多东西部署到我的 Kubernetes 集群中。我的 values.yaml 文件包含很多字段。

我想要执行的唯一修改是向我的 cron 作业添加一个额外的环境变量。 (此 cron 作业创建一个 pod,其中 python 脚本应该能够读取此环境变量)

apiVersion: batch/v1beta1
kind: CronJob
...
...
    containers:
        - env:
            - name: existing_env_var
              value: "dummy_value"
            - name: new_env_var                # I want to add this one
              value: "this is the new one"

更新必须保留旧的未修改值。命令: helm upgrade [name] [path] --reuse-values

问题是 cron 作业没有升级,这意味着我的 python 脚本无法使用新的环境变量。我能想到的唯一原因是在 helm 的上下文中没有进行任何更改,因为修改了 none 个值。

如何在重用旧值的同时升级我的 CronJob。任何帮助表示赞赏。

这与 --reuse-values 标志的定义有关。根据文档 here:

--reuse-values : when upgrading, reuse the last release's values and merge in any overrides from the command line via --set and -f

在使用 --reuse-values 时尝试直接从图表中覆盖是行不通的。通过 --set 或 -f.

传递新值(这是您要添加到此图表的唯一值)

这可能意味着您将不得不稍微调整图表以通过值文件将环境变量传递给您的 cron 作业。

这个article很好地解释了它的用法。