首页 > 解决方案 > Helm - 使用覆盖文件覆盖列表值

问题描述

我想覆盖 prod 和 dev 部署之间的值。

默认值如下所示:

apps:
  myapp:
    replicaCount: 2
    containers:
      - name: foo
        env:
          MODE: "dev"

我可以在命令行中覆盖它:

--set apps.myapp.containers[0].env.mode="prod"

但是,我想将所有覆盖保存在一个文件中,并运行 helm upgrade 传递一个覆盖文件。在文件中添加覆盖,如:

apps:
  myapp:
    containers[0]:
      env:
        MODE: "prod"

不工作。如何覆盖列表中的值?

标签: kubernetes-helmtemplatinggo-templateshelmfile

解决方案


至少可以说很奇怪。

这有效:

apps:
  myapp:
    containers[1]:
      env:
        MODE: "prod"

所以索引containers1在文件中被覆盖时,但是0当使用命令行完成时:

--set apps.myapp.containers[0].env.mode="prod"

推荐阅读