我想传递一个环境变量,该变量应该被评估为正在运行的容器的主机名。这就是我想要做的
oc new-app -e DASHBOARD_PROTOCOL=http -e ADMIN_PASSWORD=abc@123 -e KEYCLOAK_URL=http://keycloak.openidp.svc:8080 -e KEYCLOAK_REALM=master -e DASHBOARD_HOSTNAME=$HOSTNAME -e GF_INSTALL_PLUGINS=grafana-simple-json-datasource,michaeldmoore-annunciator-panel,briangann-gauge-panel,savantly-heatmap-panel,briangann-datatable-panel grafana/grafana:5.2.1
如何确保将DASHBOARD_HOSTNAME评估为正在运行的容器映像的主机名的值
答案 0 :(得分:0)
创建应用程序后,您可以编辑部署配置(oc edit dc/<deployment_config>
)或patch it,以使用Downward API配置DASHBOARD_HOSTNAME
环境变量。
这可能是个人喜好,但为了方便oc new-app
,我宁愿使用(declarative)已在代码库中检入和版本控制的配置文件,而不是{{3 }}。
答案 1 :(得分:0)
要从pod中获取主机名值,可以使用metadata.name。 遵循例如:
env:
- name: HOSTNAME
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: metadata.name