在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键。 您能否检查模板是否按预期运行良好,如下所示?
- 首先将模板导出为 YAML 文件。
$ oc get template <your template name> -o yaml > test-template.yml
- 检查您指定的参数是否从输出中设置。
$ 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