我可以从模板中的参数设置 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 上检查 env vars,它显示:

TEST=Y

但不显示:

X-TEST=Y

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

我认为您可以将参数值设置为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"
}
],
:

我希望它对你有所帮助。

  • 导出变量

    oc process FOO=${FOO} BAR=${BAR} -f yamlFile

最新更新