Kubernetes Probes 如何防止请求丢失
How Kubernetes Probes Work

我将通过浏览器中的交互式演示,直观展示 Kubernetes Probes 如何提升应用韧性。文章深入解析了 Startup、Readiness 和 Liveness 三种探测机制的工作原理,揭示为何仅靠容器启动并不足以应对流量。通过模拟 CrashLoopBackOff 和优雅终止场景,我演示了如何避免在滚动更新期间请求失败,甚至借此发现了一个 Kubernetes 的潜在 Bug。无论你是想解决重启循环问题,还是优化服务健康检查,这些实战经验都能帮你构建更稳定的集群。
Kubernetes 在容器启动的瞬间就认为它已就绪,哪怕它还在做初始化工作,根本没有在 8080 端口监听请求。
HN 评论区
25- stackskipton
SRE 在此,强烈反对在上游依赖失败时不让 readiness 和 liveness 检查失败的做法。这么做有几个理由,除非你的启动时间极长,否则重启有什么问题?
也许你的 DNS 变了,但因为你不尊重 TTL(Java 用户看过来),导致本地缓存了错误的记录,重置进程就能清除这些缓存。
也许 TCP 连接卡在了某种奇怪的状态,重置进程通常能解决这个问题。
也许有人给了你错误的 ENV VAR,导致你连不上数据库,此时拒绝推进 rollout,就不会引发故障。
所以,如果你还没准备好执行工作(包括关键的上游依赖),就别对系统撒谎说自己准备好了。
- sidcool
这篇文章并没有提出什么新东西,但比 Kubernetes 官方文档解释得清晰太多了。
- stroebs
我需要知道如何在内部文档中制作这类动画。