Azure-app-config + spring-boot-kubernetes

问题描述

我正在尝试将天蓝色的spring-cloud-azure-appconfiguration-config-webspring-cloud-kubernetes-config一起使用。这个想法是定义 在kubernetes configmap application-kubernetes.yamlbootstrap-kubernetes.yaml中。在bootstrap-kubernetes.yaml内部,我想定义系统变量,该变量应从kubernetes秘密中填充。

kind: ConfigMap
apiVersion: v1
Metadata:
  name: {{ template "chart.fullname" . }}
data:
  application-kubernetes.yaml: |-
    ...
  bootstrap-kubernetes.yaml: |-
    spring:
      cloud:
        azure:
          appconfiguration:
            stores:
              - connection-string: ${APP_CONfigURATION_CONNECTION_STRING}

不幸的是,使用此设置无法运行appconfig,因为它会因错误而失败:

Caused by: java.lang.IllegalArgumentException: At least one config store has to be configured.
    at org.springframework.util.Assert.notEmpty(Assert.java:467)
    at com.microsoft.azure.spring.cloud.config.AppConfigurationProperties.validateAndInit(AppConfigurationProperties.java:123)

问题是,是否可以设置这样的配置:先获取configmap,然后再通过configmap中使用的属性配置appconfig

解决方法

与App配置Github存储库中讨论的问题相同:

https://github.com/Azure/AppConfiguration/issues/409