Kubernetes 死节点 3 秒就被发现,却继续接收流量 13 秒
来源:dev.to — 2026-10-02
📋 概述
关于 Kubernetes 节点失联,社区流传的说法很具体:节点控制器要等 40 秒才把无响应节点标记为 NotReady,随后 Pod 还要再等 5 分钟才被 taint 管理器驱逐,人们用这些数字解释死节点为何痛苦。作者搭了一个三节点集群,把六个副本放在负载均衡器后面,用长连接客户端持续打流量,然后直接对一台 worker 硬断电,并重复了十次。实测结果是:节点平均仅 2.9 秒就被标记为 NotReady(介于 2.7 到 3.7 秒),远快于传说中的 40 秒;真正的慢环节在下一步——Pod 从 Service 端点列表中被摘除平均耗时 13.2 秒,实验里所有失败请求都集中在这段约 10 秒的窗口里。
🔑 核心要点
- 十次硬断电实测,节点平均 2.9 秒就被标记为 NotReady,远快于流传的 40 秒。
- 真正的瓶颈是下一步:Pod 从 Service 端点摘除平均要 13.2 秒。
- 所有失败请求都集中在这段约 10 秒的窗口里,死节点的代价主要由端点摘除速度决定。
- 实验条件是 DigitalOcean Kubernetes 1.36.3、三节点、六副本、约 175 请求/秒。
- 作者也坦言自己第一次给出的修复方案是错的,并在文中更正。
💡 金句
集群知道节点没了,和集群停止往它的 Pod 上发流量,中间隔了十秒。
👍 0
👎 0
← 返回 dev.to 首页