掌舵,使用图像标签值创建环境变量

时间:2020-05-28 12:34:38

标签: kubernetes environment-variables kubernetes-helm

当我将其他ppl创建的图表用于我们的应用程序时,我还是一个新手,我正在尝试做一些我认为很简单但无法找到方法的事情。基本上我想将应用程序版本传递给我的React应用程序。根据我发现的一些信息,这是我想出的

image:
    tag: 0.2.6
extraEnv:
  - name: REACT_APP_APP_VERSION
    value: {image.tag}

提前

2 个答案:

答案 0 :(得分:0)

我假设您发送的代码是您的values.yaml。然后,第一部分是正确的。

image:
    tag: 0.2.6

现在,您无需在values.yaml文件中而是在templates/*文件中指定传递给pod的变量。例如,要将变量传递到您的广告连播,您可以使用以下代码:

env:
  - name: REACT_APP_APP_VERSION
    value: "{{ .Values.image.tag }}"

检查this以获取完整的示例。

请注意,您不能使用values.yamlvalues.yaml中的值。因此,您发送的代码无效。这是因为values.yaml文件本身未被评估。

答案 1 :(得分:0)

来自Documentation

tpl函数允许开发人员将字符串作为模板内的模板进行评估。将模板字符串作为值传递到图表或呈现外部配置文件时,这很有用。语法:{{ tpl TEMPLATE_STRING VALUES }}

您将拥有类似的东西

values.yaml

image:
  repository: k8s.gcr.io/busybox
  tag: "latest"

extraEnv: "{{ .Values.image.tag }}"

pod.yaml

apiVersion: v1
kind: Pod
metadata:
  name: test
spec:
  containers:
  - name: test
    image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
    env:
    - name: REACT_APP_APP_VERSION
      value: {{ tpl .Values.extraEnv. }}