千家信息网

如何在Rolling Update中使用Health Check

发表于:2025-02-04 作者:千家信息网编辑
千家信息网最后更新 2025年02月04日,这期内容当中小编将会给大家带来有关如何在Rolling Update中使用Health Check,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Health Che
千家信息网最后更新 2025年02月04日如何在Rolling Update中使用Health Check

这期内容当中小编将会给大家带来有关如何在Rolling Update中使用Health Check,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

Health Check 另一个重要的应用场景是 Rolling Update。试想一下下面的情况:

现有一个正常运行的多副本应用,接下来对应用进行更新(比如使用更高版本的 image),Kubernetes 会启动新副本,然后发生了如下事件:

  1. 正常情况下新副本需要 10 秒钟完成准备工作,在此之前无法响应业务请求。

  2. 但由于人为配置错误,副本始终无法完成准备工作(比如无法连接后端数据库)。

先别继续往下看,现在请花一分钟思考这个问题:如果没有配置 Health Check,会出现怎样的情况?

因为新副本本身没有异常退出,默认的 Health Check 机制会认为容器已经就绪,进而会逐步用新副本替换现有副本,其结果就是:当所有旧副本都被替换后,整个应用将无法处理请求,无法对外提供服务。如果这是发生在重要的生产系统上,后果会非常严重。

如果正确配置了 Health Check,新副本只有通过了 Readiness 探测,才会被添加到 Service;如果没有通过探测,现有副本不会被全部替换,业务仍然正常进行。

下面通过例子来实践 Health Check 在 Rolling Update 中的应用。

用如下配置文件 app.v1.yml 模拟一个 10 副本的应用:

10 秒后副本能够通过 Readiness 探测。

很显然,由于新副本中不存在 /tmp/healthy,是无法通过 Readiness 探测的。验证如下:

如果滚动更新失败,可以通过 kubectl rollout undo 回滚到上一个版本。

小结

本章我们讨论了 Kubernetes 健康检查的两种机制:Liveness 探测和 Readiness 探测,并实践了健康检查在 Scale Up 和 Rolling Update 场景中的应用。

上述就是小编为大家分享的如何在Rolling Update中使用Health Check了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。

副本 应用 探测 配置 情况 重要 健康 业务 内容 场景 就是 机制 版本 准备 分析 实践 工作 更新 检查 接下来 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 怎样选择数据库设计 网络技术课堂实录 广东软件开发者一般去哪些网站 迅雷搜索软件开发 软件开发需要学的英语怎么说 云南华中世纪互联网科技公司 大专学软件开发好还是网络好 高端手机网络安全 高新区口碑好的网络技术推荐咨询 初级中学网络安全制度 数据库er关系图 超市 阜师院数据库试卷a 软件开发流程甘特图模板下载 数据库没有用的表太多了 镇江浪潮服务器哪个厂家质量好 超声c扫描检测软件开发 sql数据库查询指定学号 卫星网络技术原理 数据库保证输入的第一个字符为N 北京生产管理软件开发价格 pg数据库复制 中国文化特色词数据库 大兴区定制软件开发经历 云南华中世纪互联网科技公司 怎么启动后台数据库 上海扇贝网络技术有限公司 数据库审计费用 浙江比翼服务器 构成数据库的最基本的数据单元 网络安全审查有哪些公司受益
0