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"

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

解决方法

至少可以说是很奇怪。

这有效:

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

因此,containers的索引在文件中被覆盖时为1,但是在使用命令行完成时为0

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