Kubernetes 控制器管理器:控制平面的自动驾驶
来源:dev.to — 2026-11-03
📋 概述
系列第六集讲 kube-controller-manager——它把多个内置控制器编译进一个进程,避免管理一堆独立进程的开销。每个控制器都跑同一套调谐循环:观察 API Server 的当前状态,与 etcd 里 YAML 声明的期望状态比对,发现漂移就动手纠正。三副本应用掉了一个 Pod,ReplicaSet 控制器发现实际只有两个、期望是三个,于是补一个回去。文章还梳理了 Node、Deployment、EndpointSlice、ServiceAccount、Job 等控制器的分工,区分了控制器管理器(保证对象数量和状态)与调度器(决定 Pod 落在哪个节点),并介绍了云厂商用的独立 Cloud Controller Manager。
🔑 核心要点
调谐循环只有三步 :Watch 观察当前状态、Compare 与期望状态比对、Act 在出现漂移时纠正。
kube-controller-manager 不是单个控制器 ,而是一批内置控制器编译进同一个二进制,省掉多进程管理开销。
控制器管理器和调度器职责完全不同 :前者保证对象存在且数量对,后者决定未调度的 Pod 应该跑在哪个节点。
云上还有独立的 Cloud Controller Manager ,负责负载均衡、节点路由和存储卷,让核心项目不必耦合具体云厂商。
💡 金句
“They continuously watch the state of the cluster, and whenever the actual state differs from the desired state, they take action to bring things back in sync.”译:它们持续观察集群状态,只要实际状态与期望状态出现差异,就采取行动把两者重新对齐。
👍 0
❤️ 点赞
👎 0
沉底
← 返回 dev.to 首页