控制平面与工作节点
安装控制平面、管理 worker 节点。
35 分钟
控制平面与工作节点
理解 控制平面(Control Plane) 与 工作节点(Worker Node) 的分工,是自建、排障与托管集群升级的基础。本课对应路线图「安装控制平面、管理 worker 节点」——不要求你手工 kubeadm 生产集群,但要能 读架构图、定位故障、安全扩节点。
学习目标
- 说出 API Server、etcd、Scheduler、Controller Manager、kubelet 各负责什么
- 描述一个新 Pod 从
kubectl apply到容器运行的请求路径 - 列出工作节点加入集群与下线时的检查项
控制平面组件
| 组件 | 职责 |
|---|---|
| kube-apiserver | 唯一入口;REST 校验、持久化到 etcd |
| etcd | 集群状态 KV 存储;备份即备份「期望世界」 |
| kube-scheduler | 为未绑定 Node 的 Pod 选节点 |
| kube-controller-manager | Deployment、ReplicaSet、Node 等控制循环 |
| cloud-controller-manager | 云 LB、路由、节点生命周期(托管集群常见) |
托管集群(k8a-managed)中上述组件由云厂商运维;你通过 版本升级通道 与 维护窗口 与之交互。
工作节点组件
Node
├─ kubelet 接收 PodSpec,调 containerd 起停容器
├─ kube-proxy Service ClusterIP 规则(或 eBPF 替代)
├─ containerd 拉镜像、跑容器([docker-essentials](/tracks/docker-essentials) 镜像仍适用)
└─ CNI 插件 Pod IP、NetworkPolicy
与 k8s-pods 中「Pod 是调度单元」一致:Scheduler 选 Node,kubelet 在本机兑现。
请求路径(简图)
kubectl / controller
→ API Server(authn/authz)
→ etcd 持久化
→ Scheduler 绑定 nodeName
→ kubelet 拉镜像、挂载卷、起容器
→ kubelet 上报状态 → API Server → etcd
Deployment 控制器在 controller-manager 里调谐副本数,见 k8s-deployments。
节点生命周期
加入:
- 节点 OS、containerd、kubelet 版本与集群匹配
- -bootstrap token 或证书加入
- 打标签:
node-role.kubernetes.io/worker、实例类型、AZ - 验证
kubectl get nodes Ready
维护/下线:
kubectl cordon禁止新 Pod 调度