在 HELM 中为 DEV、PRESTAGING、STAGING 和 PROD 设置单独的环境变量值

Setting separate values for environment variable in HELM for DEV, PRESTAGING, STAGING and PROD

我目前正在使用 Helm 图表进行部署。 我基本上想做的是为不同的环境设置环境变量。

用例:

我正在使用 Helm 来部署一个 Node JS 应用程序,并且基于将在部署时设置的环境变量 NODE_ENV 的值,我希望加载特定的配置文件。

示例:

  env:
    - name: NODE_ENV
      value: production
    ...

我正在浏览 HELM 图表,但我无法就如何使用 templates/deployment.yaml、values.yaml 和 deployment.yaml 来建立相同的点.

注:

这是同一个环境变量,将根据部署环境保存不同的值。

任何帮助都会有所帮助。

您可以使用模板设置环境变量的值:

- name: NODE_ENV
  value: {{ .Values.env | quote }}

您图表的 values.yaml 文件应提供默认值:

env: production

当你真正去部署图表时,你可以提供一个额外的 YAML 值文件(或多个)

helm install --name my-chart ./charts/my-chart -f values.dev.yaml

然后 YAML 文件可以提供覆盖图表默认值的值

env: development
mysqlHost: mysql-dev.example.com