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

时间:2018-11-12 23:54:28

标签: environment-variables kubernetes-helm

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

用例:

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

示例:

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

我正在浏览HELM图表,但是我无法理解我们如何使用template / deployment.yaml,values.yaml和deployment.yaml建立相同的点。

注意:

这是同一环境变量,它将根据部署环境保存单独的值。

任何帮助都会有所帮助。

1 个答案:

答案 0 :(得分:4)

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

- 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