首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >调用刷新时,从文件系统挂载和加载的K8s ConfigMap属性不能工作

调用刷新时,从文件系统挂载和加载的K8s ConfigMap属性不能工作
EN

Stack Overflow用户
提问于 2022-05-20 16:28:58
回答 1查看 458关注 0票数 1

我在K8s上部署了一个Spring应用程序。我使用ConfigMap实例通过运行应用程序并让从文件系统读取application.properties到Pod

application.properties:

代码语言:javascript
复制
spring.application.name=spring-cloud-k8s-minion
server.port=8080
spring.cloud.kubernetes.config.paths=/etc/app-config/application.properties

management.endpoint.refresh.enabled=true
management.endpoints.web.exposure.include=*

pom.xml:

代码语言:javascript
复制
    <spring-boot.version>2.6.7</spring-boot.version>
    <spring-cloud.version>2021.0.2</spring-cloud.version>
    <spring.cloud.k8s.version>2.1.2</spring.cloud.k8s.version>

    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-kubernetes-client</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-kubernetes-client-config</artifactId>
    </dependency>
代码语言:javascript
复制
@Configuration()
@ConfigurationProperties(prefix = "minion")
public class MinionConfig {

    private String type = "generic-minion";

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }
}

我有一个rest端点,公开了这些信任信息,并且可以验证这些属性在加载时是否加载到我的应用程序中。

如果我更新配置:

代码语言:javascript
复制
kubectl edit configmap -n development spring-cloud-k8s-minion -o yaml

并将exec放到我的pod/容器中,查看新配置是否重新加载,我可以看到新的值。到目前一切尚好。

现在,如果我调用/actuator/refresh,新值将不会加载到我的应用程序中。我在这里错过了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-05-20 22:43:52

我找到解决办法了。我得把spring.cloud.kubernetes.config.paths搬到bootstrap.properties去。

至少对我来说,还不清楚该把spring.cloud.kubernetes.config.paths放在哪里。如果您检查文档,您将找不到任何关于它的位置的信息。

总的来说,我们必须在bootstrap.propertiesapplication.proeprties之间猜测!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72322088

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档