Spring Cloud Kubernetes: не удается прочитать configMap с именем

Кто-нибудь знает, как решить эту проблему: WARN | main | o.s.c.k.c.ConfigMapPropertySource | Can't read configMap with name: [commons] in namespace:[dev]. Ignoring У меня в bootstrap-prod.yml есть такая конфигурация:

spring:
  cloud:
    kubernetes:
      config:
        name: ${spring.application.name} 
        sources:
          - name: commons 
        namespace: dev
      secrets:
        name: commons-secret
      reload:
        enabled: true

Но приложение не запускается из-за этой ошибки. Та же проблема, что описана здесь: https://github.com/spring-cloud/spring-cloud-kubernetes/issues/138 Я привязал ServiceAccount пространства имен к роли кластера view.

Что странно, в том же пространстве имен есть 2 приложения, первое (приложение Spring clud gateway) может читать свою configMap, а второе (простое веб-приложение весенней загрузки) - нет. Что мне не хватает? Приложение развернуто на GKE.

#:::::::::::::::::DEPLOYMENT::::::::::::::::::
apiVersion: apps/v1
kind: Deployment
metadata:
  name: appservice
  namespace: dev
spec:
  ...

И ConfigMap:

apiVersion: v1
kind: ConfigMap
metadata:
  name: commons
  namespace: dev
data:
  application.yml: |-
    server:
      tomcat:
          basedir: ..${file.separator}tomcat-${spring.application.name}
    spring:
      profiles:
        active: prod
      cache:
        ...

Спасибо за вашу помощь


person akuma8    schedule 23.08.2019    source источник
comment
Можете ли вы поделиться YAML из своих развертываний и карт конфигурации?   -  person Amit Kumar Gupta    schedule 23.08.2019
comment
@AmitKumarGupta Я отредактировал пост   -  person akuma8    schedule 23.08.2019
comment
@AmitKumarGupta Полагаю, что публикация моих конфигураций помогает мне указать на проблему. Наконец то работает   -  person akuma8    schedule 23.08.2019
comment
Это было просто! Рад, что он работает. Вы можете написать свой ответ и принять его, если считаете, что обнаружили ошибку, которая может повлиять на других людей и поможет им увидеть исправление.   -  person Amit Kumar Gupta    schedule 23.08.2019
comment
Я выложил ответ. Я потерял день из-за этой проблемы :(!   -  person akuma8    schedule 23.08.2019


Ответы (1)


Я нашел проблему, я думаю, что это так. Проблема возникла из-за неправильно отформатированного yaml. Если вы посмотрите на конфигурацию ConfigMap, у нас есть:

...
data:
  application.yml: |-
    server:
      tomcat:
          basedir: ..${file.separator}tomcat-${spring.application.name} # issue is here, bad indentation
    spring:
      profiles:
        active: prod
...

После изменения на:

data:
  application.yml: |-
    server:
      tomcat:
        basedir: ..${file.separator}tomcat-${spring.application.name}
    spring:
      profiles:
        active: prod

Вроде все нормально работает. Немного странно, что в сообщении об ошибке это явно не указано.

person akuma8    schedule 23.08.2019