首页 > 解决方案 > 我可以从模板中的参数设置 env 键吗

问题描述

在 OpenShift 4.3 中,我试图从模板中的参数值设置 env 键。例如:

"env": [
  {
    "name: "${FOO}-TEST",
    "value": "${BAR}"
  },
  {
    "name: "TEST",
    "value": "${BAR}"
  }
]

"parameters": [
  {
    "name": "FOO",
    "required": true
  },
  {
    "name": "BAR",
    "required": true
  }
]

然后,使用 -p FOO=X -p BAR=Y 的 oc new-app,并检查 pod 上的环境变量,它显示:

TEST=Y

但不显示:

X-TEST=Y

在模板中,我可以不包含参数值作为 env 键吗?

标签: openshift

解决方案


我认为您可以将参数值设置为 env 键。您能否按以下方式检查模板是否正常工作?

  1. 首先将模板导出为 yaml 文件。

$ oc get template <your template name> -o yaml > test-template.yml

  1. 从输出中检查您指定的参数是否正在设置。

$ oc process -f test-template.yml -p FOO=X -p BAR=Y

这是我的简单测试结果。例如>

$ cat test-temp.yml
:
        containers:
        - env:
          - name: "${NAME}-KEY"
            value: ${NAME}
:

$ oc process -f test-temp.yml -p NAME=test
:                        
                        "containers": [
                            {
                                "env": [
                                    {
                                        "name": "test-KEY",
                                        "value": "test"
                                    }
                                ],
:

我希望它对你有帮助。


推荐阅读