rsync-cloud/sre-runbooks

GitHub: rsync-cloud/sre-runbooks

一套覆盖 Kubernetes 常见故障场景的生产级 SRE 运维操作手册,提供标准化的事件响应、诊断恢复流程、复盘模板和值班指南。

Stars: 0 | Forks: 0

# 📕 SRE Runbooks **可用于生产环境的故障响应流程、复盘报告、值班指南以及监控操作手册。** 本仓库包含了我们的网站可靠性工程 (Site Reliability Engineering) 团队在快速诊断和解决故障时所依赖的 runbook。每份 runbook 的结构都 清晰明了,包含:**症状**、**诊断**、**恢复**和 **升级**。此外,它还包含了复盘报告和值班指南的模板, 以便任何工程师都能自信地履行值班职责。 ## 📂 仓库结构 ``` sre-runbooks/ ├── runbooks/ # Incident‑specific procedures │ ├── node-not-ready/ │ ├── pod-crashloopbackoff/ │ ├── high-cpu/ │ ├── disk-pressure/ │ ├── memory-leak/ │ ├── database-failover/ │ ├── network-latency/ │ ├── tls-certificate-expiry/ │ └── dns-failure/ ├── postmortems/ # Postmortem template ├── oncall/ # On‑call guide and escalation contacts ├── monitoring/ # Alert‑to‑runbook mappings ├── .github/workflows/ # CI (markdown linting) └── runbooks/template.md # Runbook template for new incidents ``` ## 🚀 使用 Runbook ### 发生故障期间 1. 从上面的列表中打开相关的 runbook。 2. 按照**诊断**部分的说明确认问题。 3. 按顺序执行**恢复**步骤。 4. 如果恢复失败,请按照**升级**部分的联系方式进行处理。 5. 故障处理完毕后,使用 `postmortems/template.md` 编写复盘报告。 ### 添加新的 Runbook 1. 将 `runbooks/template.md` 复制到 `runbooks/` 下的一个新目录中。 2. 在各个部分中填入准确的命令和操作流程。 3. 尽可能在非生产环境中测试这些步骤。 4. 提交 pull request。 ## 📋 Runbook 目录 | Runbook | 症状 | 关键恢复操作 | |---------|----------|--------------| | Node Not Ready | Node `NotReady`,pod 卡住 | 清理磁盘,重启 kubelet,cordon/drain | | Pod CrashLoopBackOff | Pod 反复重启,`CrashLoopBackOff` 状态 | 检查日志,提高资源限制,回滚 deployment | | High CPU | CPU > 90%,发生 throttling | 扩展 replicas,提高 limits,分析应用性能 | | Disk Pressure | 出现 `DiskPressure` 状况,发生 evictions | 清理镜像,轮转日志,扩容磁盘 | | Memory Leak | 内存持续增长,发生 OOMKilled | 暂时提高 limit,修复内存泄漏 | | Database Failover | DB 无法连接,复制延迟 | 通过 RDS 进行 failover/提升 replica,更新 endpoint | | Network Latency | 响应时间过长,发生超时 | 检查网络策略,重启 pod,检查 CNI 健康 | | TLS Certificate Expiry | 证书过期错误 | 使用 cert-manager 重新签发,或手动替换 | | DNS Failure | 名称解析失败,external-dns 问题 | 重启 CoreDNS,验证 external-dns 配置 | ## 📝 复盘报告 在每次重大故障发生后,请使用模板在 `postmortems/` 目录中创建复盘文件。复盘报告应保持“对事不对人”的原则,重点关注: - 发生了什么? - 为什么会发生? - 我们将来该如何预防? ## 📞 值班指南 请参阅 `oncall/README.md` 获取值班入职指南,内容包括如何 确认告警、与利益相关者沟通以及如何进行升级处理。 ## 🔄 CI/CD 每次 push 时都会运行一个 GitHub Actions 工作流 (`ci.yml`): - **Markdown linting** – 确保 runbook 格式良好且一致。 这有助于维护所有文档的质量。 ## 📄 许可证 MIT – 详见 [LICENSE](LICENSE)。 **当系统出现故障时,runbook 会将它们恢复如初。**
标签:Runbook, SRE, 偏差过滤, 子域名突变, 故障响应, 最佳实践, 运维, 防御加固