我在 openshift 中部署了一个 springboot 应用程序,其中 application.properties 有
greeting.constant = HelloWorld.SpringProp
我还定义了 fabric8/configmap.yml
apiVersion: v1
kind: ConfigMap
metadata:
name: sampleappconfig
data:
greeting.constant: Hellowrold.Poc.ConfigMap.Test
和 fabric8/deployment.yml
spec:
template:
spec:
containers:
- name: sampleappcontainer
env:
- name: greeting.constant
valueFrom:
configMapKeyRef:
name: sampleappconfig
key: greeting.constant
envFrom:
- configMapRef:
name: sampleappconfig
resources:
requests:
cpu: "0.2"
# memory: 256Mi
limits:
cpu: "1.0"
# memory: 256Mi
在使用 fabric8 部署应用程序时,它会在 Openshift 中创建 Configmap,我还在 openshift webconsole 中应用程序的“环境”选项卡中看到“greeting.constant”。
问题是我希望应用程序获取 Configmap 中给出的值,而不是 Spring application.properties,因为 Env 变量优先。但是,运行应用程序会记录“HelloWorld.SpringProp”而不是“Hellowrold.Poc.ConfigMap.Test”。
如何让我的应用程序引用 Configmap 中的属性?