从configmap

时间:2018-05-15 08:49:14

标签: environment-variables openshift

我想在registry.access.redhat.com/redhat-openjdk-18/openjdk18-openshift图像之上的Wildfly Swarm应用程序构建中设置日志记录级别。配置应用程序的方法是通过env var JAVA_OPTIONS,因此我想使用

env:
- name: LOG_LEVEL
  valueFrom:
    configMapKeyRef:
      name: my.configmap
      key: log.level
- name: JAVA_OPTIONS
  value: -Dswarm.logging=$LOG_LEVEL

令人遗憾的是(但并不是真的让我感到惊讶)这不起作用,LOG_LEVEL没有解决。

有没有办法从配置图组成env变量,还是我必须修改图像才能直接使用env变种?

1 个答案:

答案 0 :(得分:1)

您可以使用以下语法引用先前定义的环境变量:

env:
- name: LOG_LEVEL
  valueFrom:
    configMapKeyRef:
      name: my.configmap
      key: log.level
- name: JAVA_OPTIONS
  value: -Dswarm.logging=$(LOG_LEVEL)

不确定这对于启动时的java选项是否有效,但是,我经常编辑图像并调用一个entrypoint.sh文件,其中存在一些逻辑,但我认为值得一试。