Openshift-环境变量被评估为主机名

时间:2018-12-24 03:56:49

标签: openshift openshift-origin openshift-client-tools openshift-enterprise

我想传递一个环境变量,该变量应该被评估为正在运行的容器的主机名。这就是我想要做的

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评估为正在运行的容器映像的主机名的值

2 个答案:

答案 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