Spring Cloud Config+k8s节点漂移带来的问题

spring cloud版本为<version>Edgware.SR3</version> ,并且部署了spring-boot-admin-server

相关服务每隔20秒左右会出现:

2019-04-18 09:26:56.919  INFO [zbcloud-server-gateway,330af47ba126aca5,330af47ba126aca5,false] 1 --- [nio-8763-exec-4] c.c.c.ConfigServicePropertySourceLocator : Fetching config from server at: http://172.20.4.51:8762/
2019-04-18 09:26:59.926  WARN [zbcloud-server-gateway,330af47ba126aca5,330af47ba126aca5,false] 1 --- [nio-8763-exec-4] c.c.c.ConfigServicePropertySourceLocator : Could not locate PropertySource: I/O error on GET request for "http://172.20.4.51:8762/zbcloud-server-gateway/default": Host is unreachable (Host unreachable); nested exception is java.net.NoRouteToHostException: Host is unreachable (Host unreachable)

经查询时由于spring-boot-admin-server触发了健康检查,而Spring-Cloud-Config-server由于重启等原因pod的IP发生了变更,真正去访问的地址是直接从 properties.getRawUri()获取的,它已经是一个固化的值,而不是通过服务发现机制来动态获取的,从而导致无法请求配置中心。

解决方案:

  • 部署在机器上而不是容器上,避免IP的变动

  • 可以考虑关闭微服务队config客户端的健康检查,增加参数 health.config.enabled=false;但是这个操作有一个弊端,虽然迁移不会引发服务时好时坏的问题了,但是如果有动态配置刷新需求,如果迁移了配置中心,刷新配置操作也是会失败的。

转载于:https://my.oschina.net/u/1241604/blog/3038503

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值