Helm - 使用覆盖文件覆盖列表值

Bha*_*ath 6 go-templates kubernetes-helm

我想覆盖生产和开发部署之间的值。

默认值如下所示:

apps:
  myapp:
    replicaCount: 2
    containers:
      - name: foo
        env:
          MODE: "dev"
Run Code Online (Sandbox Code Playgroud)

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

--set apps.myapp.containers[0].env.mode="prod"
Run Code Online (Sandbox Code Playgroud)

不过,我想将所有覆盖保留在一个文件中,并运行 helm update 并传入覆盖文件。在文件中添加覆盖,例如:

apps:
  myapp:
    containers[0]:
      env:
        MODE: "prod"
Run Code Online (Sandbox Code Playgroud)

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

Bha*_*ath 1

至少可以说很奇怪。

这有效:

apps:
  myapp:
    containers[1]:
      env:
        MODE: "prod"
Run Code Online (Sandbox Code Playgroud)

因此,索引在文件中被覆盖时,但是containers使用命令行完成时:10

--set apps.myapp.containers[0].env.mode="prod"
Run Code Online (Sandbox Code Playgroud)