Node Controller
Node Controller 是 Kubernetes 控制平面中的一个关键子控制器,它负责监控集群中所有节点的健康状态,并在节点失效时触发 Pod 的重新调度。它是保证集群高可用和稳定运行的核心机制之一。
🧩 Node Controller 的职责
- 节点健康检查
- 定期通过 API Server 获取节点的心跳信息。
- 如果节点长时间没有响应(默认 40 秒内无心跳),会将该节点标记为
NotReady。
- Pod 驱逐与重新调度
- 当节点不可用时,Node Controller 会触发 Pod 的驱逐。
- Scheduler(人事经理)会把这些 Pod 重新分配到健康的节点上。
- 节点生命周期管理
- 负责节点的注册与移除。
- 例如:当 kubelet 启动时,它会自动向 API Server 注册自己,Node Controller 会验证其合法性。
📌 类比理解
- Node Controller = 工厂检查员
- 它每天巡视各个工厂(节点),确认工厂是否正常运转。
- 如果某个工厂停工(节点失效),它会通知人事经理(Scheduler)把工人(Pod)调到其他工厂。
⚠️ 风险与影响
- 节点失效时:Pod 会被重新调度,但可能导致服务短暂中断。
- 配置不当:如果健康检查时间过短,可能误判节点不可用;过长则会延迟故障恢复。
- 高可用集群:通常需要多个节点,避免单点故障。
💡 总结
- Node Controller 是 集群健康的守护者。
- 它通过监控节点心跳,确保 Pod 不会停留在失效节点上。
- 与 Scheduler 配合,保证应用始终运行在可用节点上。

浙公网安备 33010602011771号