Openshift: Configmap не принимается приложением - PullRequest
0 голосов
/ 24 мая 2018

У меня есть приложение springboot, развернутое в openshift с application.properties, имеющим

greeting.constant = HelloWorld.SpringProp

Я также определил fabric8 / configmap.yml

apiVersion: v1
kind: ConfigMap
metadata:
  name: sampleappconfig
data:  
  greeting.constant: Hellowrold.Poc.ConfigMap.Test

и fabric8 / deploy.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, и я также вижу «reeting.constant »на вкладке« Среда »приложения в веб-консоли openshift.

Проблема заключается в том, что я ожидаю, что приложение получит значения, указанные в Configmap, а не Spring application.properties, поскольку переменные Env имеют преимущество.Но, запуская приложение, регистрирует «HelloWorld.SpringProp» вместо «Hellowrold.Poc.ConfigMap.Test».

Как мне сделать, чтобы мое приложение ссылалось на свойства из Configmap?

1 Ответ

0 голосов
/ 25 мая 2018

Изменения ConfigMap отражаются в контейнере автоматически только при монтировании ConfigMap в виде файла, и приложение может обнаружить изменения в файле и перечитать его.

Если ConfigMap используется для заполнения переменных среды,необходимо запустить новое развертывание для обновления переменных среды.Невозможно обновить в реальном времени значения переменных среды, которые видит приложение, изменив ConfigMap.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...