KKubepath

选一条路线

36 节课不必都学。挑一个和你当前岗位最近的身份, 下面会给出裁剪过的清单 —— 只留这个岗位真正会用到的课,并切成几段推进。 想看全貌就切到「集群运维工程师」,那条是不做裁剪的完整主线。

集群是你的产品,L0 到 L4 一节不落36 节 · 约 21 小时 · 已完成 0/36

本站不做裁剪的那条主线:先把容器与节点底座打牢,吃透控制面与调度,再用 kubespray 把集群装出来扛住升级与故障,最后接上网络、存储、观测,走进 GPU 与 AI 负载的战场。

  • 独立部署并运维生产级集群,扛住节点失联、控制面扩缩与版本升级
  • 把网络、存储、监控、镜像仓库接成一个能交付给业务的平台
  • 让 GPU 集群跑得起多机多卡训练与大模型推理,并说得清资源账
沿这条路线开始 · 第 1 容器到底是什么:namespace、cgroup 与镜像
L0
底座与前置容器、节点与集群规划

K8s 装在机器上,机器不合格集群就立不住。这一阶段解决三件事:容器到底是什么、节点要调成什么样、集群规模与命名怎么定。

0/6
  1. 1容器到底是什么:namespace、cgroup 与镜像容器不是轻量虚拟机,是被内核圈起来的一组进程。这个认知决定了你后面所有排障的方向。30
  2. 2运行时与 CRI:kubelet 底下发生了什么kubelet 自己不会跑容器,它通过 CRI 指挥 containerd。这条链路断在哪,节点就 NotReady 在哪。30
  3. 3节点 OS 基线:装 K8s 之前要改的那些参数内核参数、cgroup 驱动、时间同步、swap —— 这些没对齐,集群会以各种诡异的方式间歇性出问题。35
  4. 4etcd 磁盘验收:p99 fsync 10ms 这条硬线集群卡顿、频繁选主、apiserver 超时,追到底常常是一块不合格的盘。这条线部署前就能用 fio 测出来。35
  5. 5集群规划与命名:把方案写成一张表几个控制面、几段网络、节点怎么命名 —— 这些在装机之前定下来,后面两年都不用返工。30
  6. 6硬件与拓扑:控制面、计算节点与 GPU 机型同样是「三台管理节点 + 若干计算节点」,配错 CPU、网卡或盘位,跑起来的差距是数量级的。30
L1
核心原理控制面、对象与调度

所有排障最终都会回到这一层:一个对象写进 etcd 之后,是谁在看着它、把它变成节点上真实运行的进程。

0/7
  1. 1控制面解剖:一次 kubectl apply 的全过程把 apiserver、etcd、scheduler、controller-manager、kubelet 串成一条链,之后每个故障都能定位到具体环节。35
  2. 2声明式模型与控制器循环理解 reconcile,就理解了 K8s 的全部脾气:它不执行命令,它只是不停地把现状拉向期望。30
  3. 3工作负载对象:Deployment 到 StatefulSet选错工作负载类型,后面所有的滚动更新、扩缩容和存储绑定都会别扭。35
  4. 4调度器:Pod 为什么落在这台节点上requests 决定调度,limits 决定运行。这两个字段配错,集群要么调不满,要么一压就崩。35
  5. 5kubelet 与 Pod 生命周期:探针、驱逐与预留CrashLoopBackOff、Evicted、ContainerCreating —— 这三个状态背后是 kubelet 的三套完全不同的逻辑。30
  6. 6K8s 网络模型:Pod IP、Service 与 DNS「每个 Pod 一个可路由 IP」这条约定,是理解 Service、CNI 和所有网络故障的起点。35
  7. 7认证、授权与 ServiceAccount谁能动这个集群、能动到什么程度 —— 交付前必须回答清楚,交付后再补就是一场大手术。30
L2
部署与运维主战场:从装出来到扛得住

这一阶段是集群运维的主课:用 kubespray 把集群装出来,然后经历扩缩、升级、备份、节点故障这些必然会来的事。

0/8
  1. 1用 kubespray 装出第一套集群不是 kubeadm 敲一遍就完事:inventory 怎么写、离线源怎么配、装完先验什么。45
  2. 2把规划写进配置:group_vars 逐项拆解同一份 playbook,配置写法决定了集群是能用两年还是三个月后推倒重来。35
  3. 3客户端工具箱:kubectl、kustomize、helm手上快十倍靠的不是记命令,是把 kubectl 输出、kustomize 分层和 helm 发布用在对的地方。30
  4. 4节点生命周期:加入、维护、下线cordon、drain、delete 三步之间的差别,决定了一次夜间维护是平稳还是事故。30
  5. 5控制面扩缩与证书轮转3 台变 5 台、换掉一台坏掉的管理节点、证书还有 30 天到期 —— 都是不能试错的操作。35
  6. 6集群升级:版本偏差与回滚预案升级本身不难,难的是升到一半发现回不去。先把回滚路径想清楚再动手。40
  7. 7etcd 运维:备份、恢复与碎片整理集群其它东西都能重建,etcd 不能。这一节练的是「真的能恢复」,不是「有备份」。35
  8. 8闯关:一台节点变成 NotReady在模拟终端里接手一台刚刚失联的节点,从现象一路追到根因。35
L3
平台能力网络、存储与可观测性

裸集群交付不出去。这一阶段把网络、存储、监控和镜像分发接上,让平台真的能承载业务。

0/8
  1. 1CNI 与 Cilium:eBPF 数据面CNI 选型是集群建成后最难改的决定之一。这一节把 Cilium 的能力边界讲清楚再动手装。40
  2. 2把服务暴露出去:MetalLB、Ingress 与 Gateway API私有集群没有云厂商的 LB,LoadBalancer 那个 IP 得你自己变出来。35
  3. 3网络策略与多租户隔离默认全通的集群,一个租户的 Pod 可以直接连另一个租户的数据库。30
  4. 4PV、PVC、StorageClass 与 CSI一个 PVC 从 Pending 到挂进容器,中间经过四个组件。知道是哪四个,排障就有了方向。35
  5. 5接入后端存储:ceph-csi、gpfs-csi 与快照把已有的 Ceph 或 GPFS 接进集群,跑通动态供应、扩容和快照这三件事。40
  6. 6闯关:PVC 一直 Pending,业务起不来模拟终端里给你一个卡了十分钟的 PVC,按目标一步步定位到真正的根因。30
  7. 7可观测性:指标、日志与该盯的那几个数监控装了一堆面板,出事时还是不知道看哪个 —— 因为没先定义「什么算不正常」。40
  8. 8镜像仓库与分发:Harbor、Spegel 与离线源几百个节点同时拉一个 10G 的镜像,仓库和网络会先倒下。30
L4
进阶战场GPU、AI 负载与规模化

把集群从「能跑业务」推到「能跑 AI 训练与推理、能给多个租户用、能算清账」。

0/7
  1. 1GPU 节点:GPU Operator、设备插件与拓扑把一台插了八张卡的机器变成集群里可调度的 GPU 节点,比装个驱动复杂得多。40
  2. 2AI 负载调度:Volcano、Kueue 与 gang scheduling默认调度器一个一个放 Pod,分布式训练要么全起要么别起 —— 这就是要换调度器的原因。40
  3. 3训练与推理平台:Trainer、Ray 与 vLLM平台交付给算法团队的不是节点,是「提交一个作业」和「上线一个模型」这两个动作。35
  4. 4多租户与虚拟集群:Kamaji、vcluster、k3k「每个团队一套集群」和「所有团队一套集群」之间,还有一整排折中方案。35
  5. 5集群容量规划(计算器)「我们要 100 张卡的集群」到底需要几台机器、控制面多大、能跑多少 Pod —— 这一节把账算出来。40
  6. 6规模化:apiserver 过载与大集群的限额几十台的时候一切正常,几百台之后 list 一次 Pod 就能把控制面拖垮。35
  7. 7值班手册与变更管理把排查过程固化成 SOP,把每次事故变成一条检查项 —— 这是运维团队唯一的复利。30