CodeRoadMap
首页路线题库资源库文章社区
CodeRoadMap

程序员的学习成长路线图。内容免费开放,登录后可同步路线图与课时进度。

由 程序员柏风 独立维护 · 关于作者

学习

  • 路线图
  • 课程
  • 面试题
  • 文章
  • 我

更多

  • 资源
  • 社区
  • 关于作者
  • 内容说明

© 2026 CodeRoadMap

津ICP备2026012044号-1·津公网安备12011002026155号·coderoadmap@126.com
Kubernetes 进阶/课时/控制平面与工作节点
RawBlame
课时目录12 节

Kubernetes 进阶

  1. 01K8s 进阶概览
  2. 02托管集群选型
  3. 03自建 vs 托管
  4. 04控制平面与工作节点
  5. 05多集群管理
  6. 06污点和容忍度
  7. 07拓扑分布约束
  8. 08CRD 与自定义控制器
  9. 09资源管理与驱逐
  10. 10集群可观测性
  11. 11资源监控与优化
  12. 12综合练习

控制平面与工作节点

安装控制平面、管理 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-managerDeployment、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。

节点生命周期

加入:

  1. 节点 OS、containerd、kubelet 版本与集群匹配
  2. -bootstrap token 或证书加入
  3. 打标签:node-role.kubernetes.io/worker、实例类型、AZ
  4. 验证 kubectl get nodes Ready

维护/下线:

  1. kubectl cordon 禁止新 Pod 调度
  • kubectl drain 驱逐现有 Pod(尊重 PDB)
  • 升级 kubelet 或替换节点
  • 旧节点 kubectl delete node
  • 驱逐与资源压力见 k8a-resources。

    生产注意点

    • 高可用:控制平面多副本 + etcd 奇数节点(自建)
    • 证书:apiserver ↔ kubelet、etcd 客户端证书有效期
    • 升级顺序:控制平面 → kubelet(节点间可滚动)
    • 监控:apiserver 延迟、etcd db 大小、scheduler 队列深度——衔接 k8a-obs

    Helm 安装的集群附加组件(Ingress、Prometheus Operator)也走 API Server,RBAC 过宽会影响控制平面负载,见 helm-install。

    练习

    • 画控制平面 + 两个 Worker Node 的组件图
    • 模拟:某 Node NotReady,列出 kubelet / CNI / 磁盘三组排查命令(概念即可)
    • 说明 Deployment 滚动更新时 controller-manager 与 kubelet 各做什么

    小结

    API Server 是枢纽,etcd 是真相,kubelet 在节点上兑现 Pod。 下一课扩展到多集群管理视角。

    加载本节练习…
    ← 上一课自建 vs 托管下一课 →多集群管理