代码之家  ›  专栏  ›  技术社区  ›  user762421

在单个存储库中为不同的部署环境创建Helm图的最佳方法是什么?

  •  4
  • user762421  · 技术社区  · 8 年前

    我们使用Helm图在Kubernetes集群上的多个环境中部署服务。现在,对于每个环境,都有一个变量列表,如数据库url、docker图像标记等。定义Helm相关值的最明显和最正确的方法是什么。yaml,在这种情况下,除上述某些参数外,所有Helm模板文件对于所有环境都保持相同。

    1 回复  |  直到 8 年前
        1
  •  8
  •   kscoder    8 年前

    一种方法是使用多值文件,这是helm现在允许的。假设您有以下值文件:

    image:
      repository: myimage
      tag: 1.3
    

    值2.yaml

    image:
      pullPolicy: Always
    

    $ helm install -f values1.yaml,values2.yaml <mychart>
    

    image:
      repository: myimage
      tag: 1.3
      pullPolicy: Always
    

    通过为“helm install”命令提供“-dry run--debug”选项,可以看到将使用的值。

    秩序很重要。如果两个文件中出现相同的值,则为values2中的值。正如上次所规定的那样,亚马尔将采取先例。每个图表还附带一个值文件。这些值将用于您自己的值文件中未指定的任何内容,就像它是您提供的值文件列表中的第一个一样。

    在您的情况下,可以在values1中指定所有公共设置。yaml,并根据需要使用值2覆盖它们。亚马尔。