这篇文章将为大家详细讲解有关Springboot如何整合Spring Cloud Kubernetes读取ConfigMap,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。之前介绍了Spring Cloud Config
的用法,但对于Kubernetes
应用,可能会需要读取ConfigMap
的配置,我们看看Springboot
是如何方便地读取ConfigMap
和Secret
。Spring Cloud Kubernetes提供了Spring Cloud
应用与Kubernetes
服务关联,我们也可以自己写Java
程序来获取Kubernetes
的特性,但Spring
又为我们做了。引入依赖:只需要Springboot Web
和Spring Cloud Kubernetes Config
即可,很简单。Springboot
启动类:准备一个EndPoint
来展示所读到的配置信息:默认是为空的,password
是从Secret
读取,其它从ConfigMap
读取。应用的配置文件如下:这里的spring.cloud.kubernetes.config.name
是重点,后续要通过它来找ConfigMap
。加密密码:创建Kubernetes Secret
:ConfigMap
的内容如下:要注意的是,这里的名字与前面配置的是一致的,都是spring-cloud-kubernetes-configmap
。接着完成Dockerfile
和K8s
部署文件就可以了。注意要将Secret
的值映射到环境变量:应用会在启动时就去Kubernetes
找相应的ConfigMap
和Secret
:访问spring-clou 香港云主机d-kubernetes-configmap.localhost/pkslow
,可以正确读取配置,ConfigMap
和Secret
的内容都获取到了:我们需要在Web
运行过程中修改配置并使配置生效,有多种模式。修改配置文件如下:(1) spring.cloud.kubernetes.reload.enabled=true
需要打开刷新功能;(2) 加载策略strategy
:refresh
:只对特定的配置生效,有注解@ConfigurationProperties
或 @RefreshScope
。restart_context
:整个Spring Context
会优雅重启,里面的所有配置都会重新加载。需要打开actuator endpoint
,所以要配置management.endpoint
。还要增加依赖:shutdown
:重启容器。(3)模式mode
事件Event
:会通过k8s API
监控ConfigMap
的变更,读取配置并生效。Polling
:定期查看是否有变化,有变化则触发,默认为15秒。我们修改一下ConfigMap
的配置,并更新到K8s
。查看发现age
和email
都修改了:我们查看一下Pod
的日志如下:Springboot
先是检测到了ConfigMap
有了变更,然后触发Context
重启。关于“Springboot如何整合Spring Cloud Kubernetes读取ConfigMap”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
使用prometheus怎么实现远程存储,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。mac 10.14docker在docker部署伪分布式kafka集群新建名为:metrics的topic…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。