【问题标题】:Kubernetes - Helm not upgrading cron jobKubernetes - Helm 不升级 cron 作业
【发布时间】:2021-06-16 08:34:09
【问题描述】:

我已经使用 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。任何帮助表示赞赏。

【问题讨论】:

    标签: kubernetes kubernetes-helm kubernetes-cronjob kubernetes-jobs


    【解决方案1】:

    这与--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很好地解释了它的用法。

    【讨论】:

      猜你喜欢
      • 2023-03-07
      • 2021-04-02
      • 2022-07-15
      • 2021-02-04
      • 2021-07-17
      • 1970-01-01
      • 2019-05-15
      • 1970-01-01
      • 2019-03-31
      相关资源
      最近更新 更多