网站首页 > 开源技术 正文
我们在k8s 里面更新镜像 image 字段后就会触发一次滚动升级,杀掉老的Pod,创建新的Pod,从而完成服务版本的升级。但升级的过程其实并非是平滑的,因为pod 的启动关闭都并非瞬时的。
这里会存在两个问题,第一是将流量打到正在关闭的Pod,第二是将流量打到还未启动成功的Pod上。
Pod未启动
这个问题比较容易解决,k8s 为了避免Pod 没有启动就导入流量引入了健康检查机制,只有在readiness probe 检测成功后,pod 的状态才是ready。这样k8s 才会把这个pod 加入到service 里面。
Pod正在停止
这个问题稍微复杂一些,因为pod 停止和 从service里面把pod 摘除这两个动作完全是同步进行的,很有可能,pod里面的服务已经正在停止了,而service还没有摘掉,流量还是会打到这个Pod上面。
这时很多童鞋会想到我之前发的 k8s 里面应用如何优雅退出的文章,是不是可以通过优雅退出解决这个问题。其实,k8s 提供的优雅退出是为了让程序能够在结束之前回收资源,处理完未执行的事务。但并不能严格保证服务已经从service上摘除。
其实k8s 还有一个小技巧:prestop hook,从名字就可以看出,它是在容器执行优雅关闭之前执行的。那么我们可以在执行关闭前,先sleep 5秒,这样确保pod 可以从service里面拆除,如果你的集群延迟比较大,也可以改成10秒。
lifecycle:
preStop:
exec:
command: ["sleep", "5"]
这样无论是新启动pod 还是pod 停止,都可以很流畅的进行,中间不会出现流量的中断了。
猜你喜欢
- 2024-12-24 艏附加救生筏布置和操作需要关注哪些要求|液货船安全管理1000问
- 2024-12-24 吸顶大法 -- UWP中的工具栏吸顶的实现方式之一
- 2024-12-24 电气自动化专业词汇中英文对照表 电气自动化的英文缩写
- 2024-12-24 「Elasticsearch」时序数据的处理,索引滚动-Rollover
- 2024-12-24 30分钟了解K8S 30分钟了解经济机器
- 2024-08-04 索引生命周期管理ILM看完不懂你锤我
- 2024-08-04 【四】海獭自行车展上,公路车和山地车之间的界限越来越模糊
- 2024-08-04 在 View 上使用挂起函数(getpivotdata函数的使用方法及实例)
- 2024-08-04 Flutter3.13新特性概述(flutter最新)
- 2024-08-04 可能是全网最好用的ViewPager控件?老司机们来验验成色
你 发表评论:
欢迎- 05-16东契奇:DFS训练时喷了我很多垃圾话 我不懂他为什么比赛不这么干
- 05-16这两球很伤!詹姆斯空篮拉杆不中 DFS接里夫斯传球空接也没放进
- 05-16湖人自媒体调查:89%球迷希望DFS回归79%希望詹姆斯回归
- 05-16Shams:湖人得到全能球员DFS 节省了1500万奢侈税&薪金空间更灵活
- 05-16G5湖人胜率更高!詹姆斯不满判罚,DFS谈5人打满下半场:这很艰难
- 05-16DFS:当东契奇进入状态 所有防守者在他面前都像个圆锥桶
- 05-16上一场9中6!DFS:不能让纳兹-里德这样的球员那么轻松地投三分
- 05-16WIDER FACE评测结果出炉:滴滴人脸检测DFS算法获世界第一
- 最近发表
-
- 东契奇:DFS训练时喷了我很多垃圾话 我不懂他为什么比赛不这么干
- 这两球很伤!詹姆斯空篮拉杆不中 DFS接里夫斯传球空接也没放进
- 湖人自媒体调查:89%球迷希望DFS回归79%希望詹姆斯回归
- Shams:湖人得到全能球员DFS 节省了1500万奢侈税&薪金空间更灵活
- G5湖人胜率更高!詹姆斯不满判罚,DFS谈5人打满下半场:这很艰难
- DFS:当东契奇进入状态 所有防守者在他面前都像个圆锥桶
- 上一场9中6!DFS:不能让纳兹-里德这样的球员那么轻松地投三分
- WIDER FACE评测结果出炉:滴滴人脸检测DFS算法获世界第一
- 湖人自媒体调查:89%球迷希望DFS回归 79%希望詹姆斯回归
- 一觉醒来湖人苦盼的纯3D终于到位 DFS能带给紫金军多少帮助
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)