这不是一份“收藏资料”的仓库,而是一套以 原理 → 实验 → 故障 → 复盘 → 项目 为闭环的云原生训练场。
完成路线后,你应当能够:
- 解释 Linux、网络、容器和 Kubernetes 的关键机制,而非只会背命令;
- 独立构建、交付、观测和排障一个生产风格的 Kubernetes 应用;
- 使用 Helm、GitOps、IaC 和策略即代码建立可重复的平台工程流程;
- 从可靠性、安全、成本和开发体验角度进行架构权衡;
- 面对陌生故障时,通过指标、日志、追踪、事件和系统工具形成证据链;
- 阅读官方文档、设计文档和部分源码,持续追踪生态演进。
| 阶段 | 建议时间 | 核心主题 | 阶段产物 |
|---|---|---|---|
| 0. 基础与环境 | 2 周 | Linux、进程、网络、Git、Shell | 环境报告、网络实验、学习日志 |
| 1. 容器 | 3 周 | namespaces、cgroups、镜像、OCI、运行时 | 最小镜像、多阶段构建、容器排障手册 |
| 2. Kubernetes 核心 | 6 周 | 架构、Pod、控制器、调度、配置、存储 | 多服务应用、故障注入与恢复 |
| 3. 打包与交付 | 4 周 | Helm、Kustomize、CI、发布策略 | 可复用 Chart、流水线、回滚演练 |
| 4. 可观测性 | 4 周 | Metrics、Logs、Traces、OpenTelemetry | 仪表盘、告警、分布式追踪 |
| 5. 网络与安全 | 5 周 | CNI、DNS、Ingress/Gateway、RBAC、策略、供应链 | 零信任式访问控制与安全基线 |
| 6. IaC、GitOps 与平台 | 5 周 | OpenTofu/Terraform、Argo CD、平台工程 | GitOps 多环境交付、Golden Path |
| 7. SRE 与排障 | 4 周 | SLI/SLO、容量、弹性、灾备、性能 | GameDay、事故报告、运行手册 |
| 8. 综合项目 | 6 周 | 生产风格系统设计与运营 | 架构文档、演示、答辩材料 |
完整门槛见 ROADMAP.md,全部实验见 labs/README.md。按约每周 8–10 小时计算,全程约 39 周;时间少时可拉长,不建议跳过实验与复盘。
# 1. 查看本机环境,不会安装任何软件
make doctor
# 2. 阅读第 0 阶段任务
cat curriculum/00-foundations/README.md
# 3. 记录基线
cp notes/TEMPLATE.md notes/$(date +%F)-environment.md
# 4. 查看 Linux 安装说明与脚本计划
cat docs/linux-setup.md
make bootstrap
# 5. Debian/Ubuntu 用户确认脚本内容后执行安装
./scripts/bootstrap-linux.sh --install
# 6. 重新登录 Linux 会话,再次检查环境
make doctor | tee notes/environment-baseline.txt
# 7. 创建本地 Kubernetes 集群
make cluster-up
make verify当前仓库以 Linux 为唯一主学习环境。自动安装脚本支持 Debian/Ubuntu;Fedora、RHEL、Arch 等发行版请按
docs/linux-setup.md手动安装对应工具。
bootstrap-linux.sh默认只显示计划;只有传入--install才会安装软件和修改 Docker 用户组。
- 使用原生 Linux、Linux 虚拟机或长期运行的 Linux 主机;
- 容器运行时使用 Docker Engine;
- 本地 Kubernetes 使用 kind;
- 日常命令以 Bash 为准;
- 课程文件、YAML、代码和笔记通过 Git 在不同 Linux 设备间同步;
- 不提交 kubeconfig、私钥、访问令牌或真实 Secret。
详细说明见 docs/linux-setup.md。
- 概念(20%):用自己的话解释机制,画数据流/控制流图。
- 实验(40%):先手工完成,再脚本化;保存命令和输出。
- 破坏(20%):主动制造错误,禁止一遇到问题就重建环境。
- 复盘(20%):记录假设、证据、根因、修复和预防措施。
每个主题至少回答四个问题:
- 它解决什么问题?
- 底层如何工作?
- 在什么情况下会失败?
- 有哪些替代方案与权衡?
curriculum/ 分阶段课程、任务与验收标准
labs/ 可执行实验及其资源
projects/ 阶段项目和综合项目
notes/ 学习日志、排障记录和事故复盘
docs/ 方法论、术语和参考资料
scripts/ 环境检查与自动化脚本
所有阶段的实验骨架已经预先创建,便于通过 Git 迁移到不同 Linux 机器;带有 TODO(student) 的内容需要在对应阶段亲自完成。
学习进度维护在 PROGRESS.md。每完成一个实验,至少提交一次 Git commit。