0

我已经使用 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 脚本不能使用新的 env 变量。我能想到在 helm 的上下文中没有进行任何更改的唯一原因是因为没有修改任何值。

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

4

1 回答 1

1

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

--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 作业。

这篇文章很好地解释了它的用法。

于 2021-03-19T00:11:23.120 回答