如何解决kubernetes中集成istio出现拉取配置中心数据失败导致服务启动失败问题
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,这篇文章给大家介绍如何解决kubernetes中集成istio出现拉取配置中心数据失败导致服务启动失败问题,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。由于在k8s使用了grpc
千家信息网最后更新 2025年02月01日如何解决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安全错误
数据库的锁怎样保障安全
数据库下线是什么意思
sh脚本从另一台服务器获取文件
好的云服务器加盟平台
图书馆古籍数据库
http的代理服务器地址
网络安全首全手抄报
网络安全知识提升学到了什么
临沂天慧软件开发公司
NF8480M6浪潮服务器主板
什么时间实施网络安全法
商丘鑫德网络技术有限公司
青浦区应用软件开发创新服务
学java要会数据库
互联网科技新鲜事
香港的云服务器
津市租房软件开发
国电联合动力服务器手册
服务器被烧
名词解释数据库的实体
广东省幸福网络技术有限公司
计算机软件开发服务费合同
图书馆古籍数据库
宝山区品质软件开发试验设备
python打印数据库
闵行区视频系统服务器
2020国家网络安全攻防演练
软件开发与测试属于什么专业
世界技能大赛网络安全山东
临工集团软件开发
刀片服务器是小型机