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 приложения, первое (приложение шлюза с пружинным ключом) может читать свой файл 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:
        ...

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

1 ответ

Решение

Я нашел проблему, я думаю, это так. Проблема возникла из-за неправильного форматирования. Если вы посмотрите на конфигурацию 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

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

Другие вопросы по тегам