1

我正在尝试使我的 Spring boot 应用程序适应 k8s 环境,并希望使用 ConfigMaps 作为属性源。如果我正在使用,我会遇到这种情况

      kubernetes:
        config:
          sources:
            - name: application-config

对于具有名称的应用程序,appName则任何其他具有 Spring 云 kubernetes 约定名称的 ConfigMapappName-kubernetes都将appName-dev被静默忽略。看起来像在config.sources覆盖中列出的源,并禁用 ConfigMaps 中任何其他 PropertySources 的使用。
我被迫为 ConfigMap 使用特定的名称(上面示例中的“应用程序配置”)。

所以问题是 - 我如何(如果)同时指定config.sources并同时appName-*正确选择名称的 ConfigMap?

4

1 回答 1

1

通过 ConfigMapPropertySource 进行一些调试后,通过

    kubernetes:
      config:
        sources:
          - name: application-config
          - name: @project.artifactId@
        name: @project.artifactId@

现在它加载application-configapplication-config-kubernetesappName-kubernetes其他特定于配置文件的 ConfigMap。

于 2021-10-08T20:12:44.407 回答