SRE 学习路线
📅 SRE 学习路线(含 CCNA & Golang)
时间周期:8 个月(32 周)
每周 10–15 小时学习/实战
风格:阶段目标 → 每周学习点 → 小项目实战
阶段 1:基础复盘 & 网络强化(第 1–2 个月)
目标:复盘 Linux 运维 + 打牢网络 CCNA 基础,为后续云原生做准备。
周次 | 学习重点 | 任务与练习 |
---|---|---|
Week 1 | Linux 进阶复习 | systemd、日志管理、ulimit、sysctl、磁盘/IO 监控;写一个自动化巡检脚本 |
Week 2 | Shell & Ansible | 学习 Shell 高级用法,Ansible Playbook 部署 LNMP |
Week 3 | 网络基础 (CCNA 1) | OSI 七层模型、TCP/IP、ARP、ICMP、子网划分练习 |
Week 4 | 网络进阶 (CCNA 2) | VLAN、STP、静态路由、OSPF;用 GNS3/EVE-NG 模拟配置 |
📌 小项目:
- 写一个 Ansible Playbook 自动部署 LNMP
- 在 GNS3 搭建三台路由器跑 OSPF,抓包验证路由表更新
阶段 2:云原生与 IaC(第 3–4 个月)
目标:掌握 Kubernetes、Terraform、CI/CD 基础。
周次 | 学习重点 | 任务与练习 |
---|---|---|
Week 5 | 容器与 Docker | Dockerfile、镜像优化、多阶段构建;Compose 部署 Flask+MySQL |
Week 6 | Terraform 入门 | 写 Terraform 脚本创建 EC2/VM + 安装 Nginx |
Week 7 | Kubernetes 基础 | Pod/Deployment/Service/Ingress、ConfigMap、Secret |
Week 8 | CI/CD 入门 | GitHub Actions 自动构建 Docker 镜像并推送到 Registry |
📌 小项目:
- 用 Terraform + GitHub Actions 自动部署一个 Flask 应用到 K8s
- 部署 Prometheus Operator,Grafana Dashboard 展示 CPU/内存
阶段 3:可观测性与安全(第 5–6 个月)
目标:搭建监控告警 + 学习安全与合规。
周次 | 学习重点 | 任务与练习 |
---|---|---|
Week 9 | Prometheus 深入 | Exporter、自定义指标、Alertmanager、联动企业微信/钉钉告警 |
Week 10 | ELK / Opensearch | 日志采集、存储、查询,搭建 Kibana Dashboard |
Week 11 | 安全基础 | RBAC、最小权限、Pod 安全策略、NetworkPolicy |
Week 12 | 密钥管理 | Vault/KMS 管理证书、自动签发 TLS |
📌 小项目:
- 部署 Prometheus+Grafana,写一个自定义 Python Exporter
- Vault 集成 K8s Pod,动态下发数据库密码
阶段 4:测试与高可用(第 7–8 个月)
目标:自动化测试、性能优化、灾备演练。
周次 | 学习重点 | 任务与练习 |
---|---|---|
Week 13 | E2E 测试 | Cypress/Playwright 测试前端;Postman/Newman 回归测试 |
Week 14 | 压测与稳定性 | JMeter/k6 压测;K8s HPA 自动扩缩容 |
Week 15 | Chaos Engineering | 注入 Pod 故障,验证系统自愈能力 |
Week 16 | 合规 & 审计 | S3 Object Lock/WORM;ISO27001、SOC2 基础 |
📌 小项目:
- 写 Cypress 脚本测试登录/下单流程
- 用 k6 对 Demo 应用压测,Grafana 观察瓶颈
- S3 上开启 WORM 测试数据防篡改
阶段 5:Golang 开发专项(贯穿全程,重点在后 4 个月)
目标:能写工具、Exporter、甚至 Operator。
周次 | 学习重点 | 任务与练习 |
---|---|---|
Week 5–6 | Go 基础语法 | 变量、函数、数组、map、struct、接口 |
Week 7–8 | Go 并发 | goroutine、channel、context、sync |
Week 9–10 | Go Web 开发 | net/http、gin 框架写一个 API 服务 |
Week 11–12 | Go 与 K8s | client-go SDK,写一个简单 Pod 监控工具 |
Week 13–16 | 项目实战 | 开发一个 Prometheus Exporter 或 K8s Controller |
📌 小项目:
- 用 Go 写一个 CLI 工具(比如批量 ping + 报告存储到文件)
- 写一个自定义 Prometheus Exporter,输出服务器磁盘使用率
🎯 最终成果(面试展示用)
- GitHub 仓库:包含 Terraform + K8s + CI/CD + Prometheus Demo
- Go 项目:一个小工具(Exporter/CLI)
- 监控大屏截图:Grafana、ELK Dashboard
- 测试脚本:Cypress/Newman 压测结果
- 安全合规实践:Vault 动态密钥、S3 WORM 演示