Kubernetes 系统设计者之路
一套”从问题入手、看后续演化”的硬核 K8s 系统设计教程。 不是 kubectl 使用手册,是把 K8s 当一部活着的系统设计史来拆。 对话讨论式,每章带「思考题 + 参考答案」,统一结构:问题(为什么需要)→ 设计(怎么解的)→ 演化(后来怎么改的)。
读法说明
- 每章结构统一:问题 → 设计 → 演化;
- 标记约定:
墨:老兵追问,你:预设回答,🔧 思考题+【参考答案】,📦 案例,⚠️ 坑; - 建议顺序:先
00-序与问题地图.md立方法论,再03-声明式API与控制循环.md立脊椎,之后按需跳读。 - 当前规模:26 章 + 序/结语,并持续加硬核专题章(镜像/网格/GitOps/多集群/规模调优/灾备/攻防)向 30 万字目标推进。
目录
一、地基与方法论
| 文件 | 章节 | 一句话主题 |
|---|---|---|
00-序与问题地图.md | 序 + 总纲 | 为什么用”设计者”视角、全系统问题地图 |
02-从裸机到编排.md | 2 | 部署演化史,论证编排的必然性(Borg→K8s) |
二、核心机制(脊椎)
| 文件 | 章节 | 一句话主题 |
|---|---|---|
03-声明式API与控制循环.md | 3 | K8s 的灵魂:level-triggered + Reconcile 哲学 |
04-APIServer.md | 4 | 唯一的真理之门:认证/RBAC/准入/watch/聚合层 |
05-etcd.md | 5 | 状态存储与一致性的代价:Raft/quorum/MVCC/lease |
06-调度器.md | 6 | Pod 落哪台机器:Filter/Score/Reserve/抢占/框架 |
07-控制器模式全集.md | 7 | Deployment/StatefulSet/Job/CronJob/级联删除 |
08-Pod与容器运行时.md | 8 | 为什么是 Pod 不是容器:pause/CRI/探针/sidecar |
09-网络模型.md | 9 | IP-per-Pod/CNI/Service VIP/iptables→ipvs→eBPF |
10-存储.md | 10 | 有状态应用的尊严:PV/PVC/SC/动态供给/CSI |
11-服务发现与负载均衡演进.md | 11 | Endpoints → EndpointSlice 的分片演化 |
12-配置与密钥.md | 12 | ConfigMap/Secret 与热更新、静态加密陷阱 |
13-安全模型.md | 13 | 认证/RBAC/PSA/NetworkPolicy 四层安全 |
14-可扩展机制.md | 14 | CRD/Operator/Admission Webhook:把平台能力交给你 |
15-资源管理与QoS.md | 15 | cgroups/requests/limits/OOM/node 压力驱逐 |
16-高可用与控制面演化.md | 16 | 管高可用的系统怎么管自己:选主/托管控制面 |
17-可观测性与排障心智.md | 17 | metrics/logs/traces/Events 与排障因果地图 |
18-版本演进总览.md | 18 | 全书演化阅兵 + K8s 演化方法论 6 条 |
19-结语与索引.md | 19 | 成为系统设计者:7 条原理 + 8 问清单 + 索引 |
三、硬核专题扩展
| 文件 | 章节 | 一句话主题 |
|---|---|---|
20-镜像与Registry深度.md | 20 | 镜像分层/多阶段构建/distroless/cosign 签名/OCI |
21-服务网格Istio.md | 21 | sidecar 注入/mTLS/与 K8s 原生边界/ambient mesh |
22-GitOps深度.md | 22 | Git=集群外 etcd、漂移自愈、两层控制循环 |
23-多集群与联邦.md | 23 | Cluster API 造集群 / Karmada 联邦 / 跨集群一致性 |
24-大规模集群性能调优.md | 24 | 万节点作战图:etcd 写/扇出/LIST 风暴/对象爆炸 |
25-灾备、跨区域与RTO:RPO.md | 25 | etcd 快照/Velero/冷备温备双活/演练 |
26-安全实战攻防与最小暴露.md | 26 | 从 Pod 到控制面的攻击链 + 最小暴露清单 |
27-容器运行时深入.md | 27 | namespace/cgroup/runc/OCI/CRI 调用链:Pod 的地基 |
重点章节(面试/复盘常深挖)
声明式控制循环(03)、API Server(04)、etcd(05)、调度器(06)、网络模型(09)、资源与 QoS(15)、规模调优(24)、安全攻防(26)。
给你的三个动手动作
- 本地
kind/minikube起集群,故意制造每章讲的故障并排障; - 用 kubebuilder 写一个最小 Operator(如 Timer),亲历”造系统的机制”;
- 用第 19 章的 8 问清单,拆一遍你公司的一个内部系统。
硬核知识,掌握系统的复杂设计。