当前位置: 首页 > wzjs >正文

全球做网站的公司排名湖南网站建设开发公司

全球做网站的公司排名,湖南网站建设开发公司,网站建设费用分类,网站乱码解决办法“k8s 1.16 版本后引入了启动探针(StartupProb),来应对某些应用程序启动慢的问题。这弥补了存活探针(LivenessProb)在这部分的不足。” 这句话要怎么理解呢?启动探针和存活探针的探针参数都是一样的&#…

“k8s 1.16 版本后引入了启动探针(StartupProb),来应对某些应用程序启动慢的问题。这弥补了存活探针(LivenessProb)在这部分的不足。”

这句话要怎么理解呢?启动探针和存活探针的探针参数都是一样的(例如都有 initialDelaySeconds、periodSeconds 等),那为什么我们还需要启动探针呢?直接用存活探针不行吗?

这是由于它们的核心设计目标和行为逻辑存在本质差异,导致存活探针无法完全替代启动探针的配置。

启动探针应对应用程序启动慢问题

假设一个 Java 应用程序的启动需要 2 分钟,此时启动探针可做如下配置:

startupProbe:httpGet:path: /healthport: 8080successThreshold: 1failureThreshold: 30    # 允许最多 30 次失败periodSeconds: 10       # 每 10 秒探测一次 → 总容忍时间 = 30×10 = 300 秒(5 分钟)

可见,应用程序只要在 5 分钟的总容忍时间内启动了,则容器不会重启。

为什么不能通过调大存活探针参数模拟启动探针?

聪明的小伙伴可能想到了通过调大存活探针的初始化时间(initialDelaySeconds)来应对应用程序启动慢的问题,比如这样:

livenessProbe:initialDelaySeconds: 120  # 等待 2 分钟periodSeconds: 10successThreshold: 1failureThreshold: 3      # 总容忍时间 = 120 + 10×3 = 150 秒(2分半)

但是这样会有一个问题:如果应用程序因资源竞争、依赖延迟等原因导致启动时间偶尔超过 3 分钟,存活探针会立即失败并重启容器。可能导致容器进入不断重启的死循环

那又有聪明的小伙伴这样想了,我把 initialDelaySeconds 调到 600 秒,这样总不怕了吧!

livenessProbe:initialDelaySeconds: 600  # 等待 10 分钟periodSeconds: 10successThreshold: 1failureThreshold: 3      # 总容忍时间 = 600 + 10×3 = 630 秒(10分半)

是的,这样一来容器是启动成功了。可是如果本来只需要等待 2 分钟就能启动成功了,现在却要硬生生等 10 分钟?这合理吗?

那,我维持 initialDelaySeconds 不变,和启动探针一样,把 failureThreshold 调大!

livenessProbe:initialDelaySeconds: 120  # 等待 2 分钟periodSeconds: 10successThreshold: 1failureThreshold: 30      # 总容忍时间 = 120 + 10×30 = 420 秒(6分钟)

O(∩_∩)O哈哈,这下总可以了吧~

但这里就忽略了一件事:存活探针的生命周期是贯穿整个容器生命周期的。这意味着,只要容器还在,存活探针就一直在工作。而上面设置了 failureThreshold 为 30,这意味着如果容器内的应用程序出现了问题,那得失败整整 30 次,容器才被认为是不健康的,才会去重启!这会导致运行时故障响应延迟(直接影响服务可用性)。

因此,这种方案也不可取。

设计目的不同(职责分离)

  • 启动探针:容忍启动慢,为应用争取初始化时间。专注解决「启动阶段」的不确定性,参数可激进(如 periodSeconds=1, failureThreshold=30)。生命周期仅为启动阶段,不影响运行阶段健康检查的效率。

  • 存活探针:快速修复运行时故障,保障服务高可用性。专注解决「运行时」的稳定性,参数需保守(如 periodSeconds=10, failureThreshold=3)。生命周期为整个容器运行期间,会影响运行阶段健康检查的效率。

若混用参数,会导致两者都无法高效完成自身职责。

参考方案

startupProbe:httpGet:path: /health/startupport: 8080failureThreshold: 30   # 允许最多 30 次失败periodSeconds: 10      # 总容忍时间 = 30×10 = 300 秒(5 分钟)livenessProbe:httpGet:path: /health/runtimeport: 8080initialDelaySeconds: 0  # 启动探针成功后立即生效periodSeconds: 5        # 运行时每 5 秒检测一次failureThreshold: 3     # 连续失败 3 次后重启(15 秒内)

协作流程:

  1. 启动阶段
    • 启动探针每 10 秒检测一次,最多容忍 5 分钟。
    • 存活探针被屏蔽,不会执行。
  2. 启动成功后
    • 启动探针退出,存活探针接管,每 5 秒检测一次。
    • 若运行时健康检查失败,15 秒内触发容器重启。
  3. 启动失败
    • 启动探针在 5 分钟内未成功,触发容器重启。
http://www.dtcms.com/wzjs/553451.html

相关文章:

  • 宁夏省住房城乡建设厅网站wordpress调用列表页
  • 做奢侈品回收网站特点泉企业网站建设
  • 网站空间地址网站建立策划书
  • 网站建设招标文件google广告在wordpress
  • 电龙网站建设东莞横沥邮编
  • 有没有专门做艺术的网站邢台建站企业邮箱
  • 辛集做网站公司公司网站定制
  • 宁波建设网站多少钱怎么建设淘宝那样的网站
  • 用logo做ppt模板下载网站旅行社门店做网站嘛
  • 做一个公司的门户网站多少钱网站开发报价文件
  • 网站后台管理系统的主要功能怎样用网站做淘宝客推广
  • 做护肤的网站有哪些临沂建设企业网站
  • 高端网站源码网站开发需呀那些技术
  • 企业网站个人备案专业的个人网站建设
  • 简约型网站建设个人做加盟商机网站如何盈利
  • 购物网站排行网站动态静态
  • 廊坊网站建设开发网站开发工具安全性能
  • 专业的建站公司服务html网页模板网站
  • 好的建站网站做动画片的网站
  • 网站建设公司如何大型门户网站建设效果
  • 深圳婚纱摄影网站建设wordpress内链添加位置
  • 做网站收费 知乎顺义建设网站
  • 购物网站开发实例深圳宝安网站建设500元起价
  • 山东网站建设哪里好大兴西红门网站建设
  • 网站怎样做移动端网站设置搜索框是什么知识点
  • 之梦网站怎么做seo随州最新消息
  • 网站建设 网页设计如何自学网站后台
  • 呼和浩特做网站的公司1688拿货网
  • 一个虚拟主机可以做几个网站吗简单设计软件
  • wordpress打分插件win优化大师有用吗