如何解决kubernetes中集成istio出现拉取配置中心数据失败导致服务启动失败问题
发表于:2024-11-17 作者:千家信息网编辑
千家信息网最后更新 2024年11月17日,这篇文章给大家介绍如何解决kubernetes中集成istio出现拉取配置中心数据失败导致服务启动失败问题,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。由于在k8s使用了grpc
千家信息网最后更新 2024年11月17日如何解决kubernetes中集成istio出现拉取配置中心数据失败导致服务启动失败问题
这篇文章给大家介绍如何解决kubernetes中集成istio出现拉取配置中心数据失败导致服务启动失败问题,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
由于在k8s使用了grpc,所以这里我们集成istio来实现http2的自动发现以及负载均衡,但是随着节点增加,istio之前同步配置时间边长导致第一次启动时,服务启动拉取配置时istio却还没初始化好相关配置,而导致第一次启动失败,错误如下 这里有几种方案
让服务启动时先暂停5s,再加载配置信息
加载配置失败一直重试知道成功
修改istio与业务pod启动时间间隔
修改dockerfile 检查istio是否启动,启动成功后再启动业务pod
经过评估,方案1需要代码侵入,还是无法完全解决问题, 方案2 也是需要修改业务代码,很多业务都得跟着修改,改动大 方案3 这个在最新版本中的k8s有这个功能,升级有风险 方案4 侵入式小 最后选择方案四,也参考了相关资料 https://github.com/istio/istio/issues/16222
最终需要修改dockerfile来解决,并且将检查istio健康状况改成了检查配置中心是否可用
ENTRYPOINT ["/bin/sh","-c"]CMD ["until curl --head 'http://config-center/info' ; do echo Waiting for Sidecar; sleep 3 ; done ; echo Sidecar available; java -Xmx3200m -Xms3200m -Xmn1600m -jar /app.jar --spring.profiles.active=prod "]
启动时打印信息如下
这里可以看到第一次检测也是失败,知道成功后才开始启动业务POD
当然也可以将相关命令写到deploy的yml中。
关于如何解决kubernetes中集成istio出现拉取配置中心数据失败导致服务启动失败问题就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
配置
方案
业务
服务
问题
成功
第一次
检查
数据
中集
代码
信息
内容
时间
更多
参考
帮助
不错
健康
均衡
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
信息网络安全三要素
长岛直播软件开发企业
石榴哥走进新华互联网科技
e舞成名跳舞机服务器升级
浅谈办公自动化网络安全的意义
网络安全模式下如何重装系统
建立全国危险化学品企业信息数据库 并实现
二级计算机网络技术及应用
贵州六台教育网络安全
暴龙服务器
网络安全技术与应用期末考
山西旅游团软件开发
手游方舟私人服务器怎么刷材料
北海龙腾半岛网络技术
服务器密码策略
5u服务器尺寸
bat自动备份数据库并压缩
电力行业网络安全重要
秦皇岛原装服务器哪家好
山西erp软件开发价格
江苏服务器机柜在哪买
我们要自觉维护网络安全的英文
互联网高科技技术有哪些
省市区三级联动数据库和js
网络安全事件发布平台
郑州巴奴网络安全
云服务器上的数据
数据库如何保证并发安全
南京伟全网络技术有限公司
pg数据库的异常处理