spring-cloud-kubernetes自动同步k8s的configmap更新

提前小结和上一篇的差异

要达到实时同步configmap变更的效果,需要将上一章的应用作以下改动:

  1. 增加以下两个jar依赖:

org.springframework.boot

spring-boot-actuator

org.springframework.boot

spring-boot-actuator-autoconfigure

  1. bootstrap.yml增加以下配置:

management:

endpoint:

restart:

enabled: true

health:

enabled: true

info:

enabled: true

  1. bootstrap.yml中的spring.cloud.kubernetes节点下增加子节点reload的配置,完整的bootstrap.yml内容如下:

management:

endpoint:

restart:

enabled: true

health:

enabled: true

info:

enabled: true

spring:

application:

name: springcloudk8sconfigdemo

profiles:

active: development

cloud:

kubernetes:

reload:

#自动更新配置的开关设置为打开

enabled: true

#更新配置信息的模式是主动拉取

mode: polling

#主动拉取的间隔时间是500毫秒

period: 500

config:

sources:

  • name: ${spring.application.name}

namespace: default

  1. 在controller中增加path为/health的服务响应,在k8s部署时,健康和就绪探针会调用此接口,如果没有响应,pod就无法正常使用:

@GetMapping(“/health”)

public String health() {

return “success”;

}

以上就是开启自动更新的步骤了,您基于上一章的源码做上述更改即可,也可以随同本文一起重新开发一个全新应用,来实现获取configmap的配置,并且实时同步configmap的变化;

环境信息

本次实战的环境和版本信息如下:

  1. 操作系统:CentOS Linux release 7.6.1810

  2. minikube:1.1.1

  3. Java:1.8.0_191

  4. Maven:3.6.0

  5. fabric8-maven-plugin插件:3.5.37

  6. spring-cloud-kubernetes:1.0.1.RELEASE

  7. springboot:2.1.6.RELEASE

准备完毕,可以开始实战啦!

源码下载

如果您不打算写代码,也可以从GitHub上下载本次实战的源码,地址和链接信息如下表所示:

| 名称 | 链接 | 备注 |

| :-- | :-- | :-- |

| 项目主页 | https://github.com/zq2599/blog_demos | 该项目在GitHub上的主页 |

| git仓库地址(https) |

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值