路线图

SRE 可靠性工程师成长路径

星辉 2026-06-19 阅读 3 min 470 字 路线图
SRE 可靠性工程师成长路径 封面

路径二:SRE 可靠性工程师#

目标受众:有一定运维基础,希望专注于系统稳定性、故障处理和可靠性工程。

核心目标:建立系统化的可靠性思维——能设计 SLO 体系、主导故障排查、推动混沌工程落地,让稳定性成为可度量、可驱动的工程目标。


阶段一:可靠性思维基础(1–3 个月)#

先建立 SRE 认知框架,再学可观测性工具。顺序很重要:概念 → 监控 → 性能调优。


SRE 核心理念#

是什么:Google 提出的站点可靠性工程方法论,核心是用软件工程的方法解决运维问题。

为什么学:SRE 提供了一套让"稳定性"可量化、可驱动的方法论,是告别救火模式的认知基础。

掌握标准

  • 能解释 SLI(指标)、SLO(目标)、SLA(协议)三者的关系和区别
  • 能解释 Error Budget 的概念:可用性 = 1 - Error Budget 消耗速率
  • 能区分 Toil(重复手工工作)和工程工作,并给出降低 Toil 的具体方案
  • 能描述 Google SRE 的"错误预算策略":Error Budget 耗尽时冻结功能发布
  • 能解释为什么 SRE 不追求 100% 可用性,以及 99.9% vs 99.99% 的实际代价差异

📖 深入阅读SRE 概念与原则:从 Google SRE 到工程实践


可观测性三支柱#

是什么:Metrics(指标)、Logs(日志)、Traces(链路追踪)三种数据类型的综合运用。

为什么学:只有监控指标,你知道服务慢了,但不知道哪里慢。三支柱联动才能快速定位根因。

掌握标准

  • 能描述三种数据类型各自擅长回答的问题(What/Why/Where)
  • 能用 Exemplar 将 Metrics 异常点关联到具体的 Trace ID
  • 能设计告警策略:Metrics 触发告警 → Traces 定位调用链 → Logs 查详细上下文
  • 能评估现有系统的可观测性成熟度,识别盲区(什么情况下三支柱都无法定位问题)

📖 深入阅读可观测性三支柱:Metrics、Logs、Traces 体系化实践


Prometheus 监控实战#

是什么:时序指标采集和告警系统,Pull 模型,强大的 PromQL 查询语言。

为什么学:Prometheus 是 K8s 生态的监控事实标准,SRE 必须精通。

掌握标准

  • 能写 PromQL 计算服务 P50/P99 延迟、错误率、吞吐量(SLI 核心指标)
  • 能用 histogram_quantile 正确计算分位数,理解其精度限制
  • 能设计 Error Budget 燃烧率告警(burn rate > 14.4 触发紧急告警)
  • 能配置 Alertmanager 路由树:按 severity 分级,按团队路由,避免告警风暴
  • 能评估 Prometheus vs VictoriaMetrics 的适用场景(数据量、查询复杂度、高可用要求)

📖 深入阅读


Linux 性能调优#

是什么:系统层面的性能诊断能力,覆盖 CPU、内存、IO、网络四个维度。

为什么学:应用层问题经常根因在系统层。不会性能分析,你只能治标不治本。

掌握标准

  • 能用 perf top/record/report 定位 CPU 热点,理解火焰图的读法
  • 能区分 Minor Page Fault 和 Major Page Fault,判断是否存在内存换页压力
  • 能用 iostat -x 分析磁盘瓶颈(%util、await、r/s、w/s)
  • 能用 ss -s 分析 TCP 连接状态分布,判断是否存在连接池耗尽
  • 能用 strace/ltrace 追踪系统调用,定位 "D state" 进程卡在哪里

📖 深入阅读Linux 性能调优实战:CPU、内存、IO、网络


阶段一完成检验#

场景题:你的服务 SLO 是 99.9% 可用性(每月 Error Budget = 43.8 分钟)。本月已消耗 38 分钟。产品经理要求这周发布一个高风险功能变更。你作为 SRE 如何决策?请给出具体的决策框架和沟通方案。


阶段二:故障排查与告警体系(3–6 个月)#

先掌握方法论再学工具,否则容易陷入"会用工具但不知道什么时候用"的困境。


故障排查方法论#

是什么:系统化的故障定位框架,包括 USE Method、RED Method、5 Whys、故障树分析。

为什么学:凭直觉排查容易走弯路,方法论让你在压力下也能有条不紊地定位根因。

掌握标准

  • 能用 USE Method(Utilization/Saturation/Errors)对系统资源做全面体检
  • 能用 RED Method(Rate/Errors/Duration)诊断微服务的外部可见性能
  • 能主持故障复盘(Post-Mortem),写出包含时间线、根因、预防措施的 RCA 文档
  • 能区分"症状"和"根因",避免只处理表象的错误倾向
  • 能在 15 分钟内完成初步定界(网络/应用/数据库/基础设施)

📖 深入阅读


告警体系设计#

是什么:从告警规则设计、分级路由、降噪策略到 on-call 轮班的完整告警体系。

为什么学:告警太多 = 告警疲劳 = 真正的故障被淹没。好的告警体系让工程师只被值得起床的事叫醒。

掌握标准

  • 能设计三级告警体系(P1 紧急/P2 重要/P3 提醒)并定义各级响应 SLA
  • 能用告警分组、路由树、抑制规则减少告警风暴
  • 能区分"症状告警"(用户可感知)和"原因告警"(内部指标),解释为什么症状告警优先
  • 能设计 on-call 轮班制度,包括 escalation policy 和 runbook 链接
  • 能量化告警质量:Alert Fatigue Rate、MTTA(Mean Time to Acknowledge)

📖 深入阅读


SLO 落地实践#

是什么:将抽象的"可靠性目标"转化为具体的 SLI 指标、SLO 数值、Error Budget 告警规则。

为什么学:没有 SLO,稳定性改进是无法驱动的。SLO 把"服务要稳定"变成"Error Budget 消耗 < X%"的可量化目标。

掌握标准

  • 能为不同类型服务(HTTP API / 消息队列 / 批处理任务)选择合适的 SLI 定义方式
  • 能配置基于 Error Budget 燃烧率的多窗口告警(1h/6h/24h/3d)
  • 能用 PromQL 计算 Error Budget 剩余百分比并在 Grafana 上可视化
  • 能在 Error Budget 耗尽时启动 Freeze(冻结发布)流程并与产品团队沟通

📖 深入阅读SLO/SLI/Error Budget 实战:从理论到落地


混沌工程#

是什么:通过主动注入故障(网络延迟、节点宕机、CPU 压力)验证系统韧性,在真实故障前发现薄弱点。

为什么学:只有测试过,你才知道系统真的能抗住故障。等真实故障来测试代价太高。

掌握标准

  • 能描述混沌工程的四个原则(稳态假设、实验最小爆炸半径、生产环境验证、自动化)
  • 能用 Chaos Mesh 设计 PodChaos/NetworkChaos/StressChaos 实验
  • 能在实验前定义可观测的"爆炸半径"和回滚条件
  • 能将混沌实验集成进 CI/CD 流水线做回归验证
  • 能设计 GameDay 演练,让多团队参与故障响应演练

📖 深入阅读Chaos Mesh 混沌工程实战:系统韧性验证


阶段二完成检验#

场景题:凌晨 2 点,你收到告警:某核心支付接口错误率从 0.1% 突增到 8%,已持续 5 分钟。你没有收到任何代码变更通知。请描述接下来 30 分钟内的完整响应动作,包括你会看哪些指标、执行哪些命令、如何判断是否需要回滚。


阶段三:大规模可靠性治理(6–12 个月)#

从单集群排障走向多集群体系化治理,建立可扩展的可靠性工程能力。


多集群运维#

是什么:多个 K8s 集群的统一管理、统一监控、统一发布协调。

为什么学:单集群是不够的:跨区高可用、环境隔离、合规要求都需要多集群。但多集群带来了新的运维复杂性。

掌握标准

  • 能设计多集群监控聚合方案(Thanos/VictoriaMetrics 联邦查询)
  • 能用 ArgoCD ApplicationSet 统一管理跨集群应用部署
  • 能设计跨集群服务发现和流量路由(Submariner、Istio 多集群)
  • 能制定多集群 Kubernetes 升级策略(滚动升级、金丝雀节点升级)
  • 能设计跨集群 Backup/Restore 方案(Velero)

📖 深入阅读多集群 K8s 管理:联邦、统一观测与运维实践


高级可观测性:ELK 与链路追踪#

是什么:日志管道(Filebeat → Logstash → Elasticsearch → Kibana)与分布式追踪(OpenTelemetry)的深度实践。

为什么学:Metrics 告诉你系统状态,Logs 告诉你发生了什么,Traces 告诉你为什么慢。三者缺一不可。

掌握标准

  • 能设计高吞吐日志管道(10 万 EPS),合理设置 Logstash 线程和 Batch Size
  • 能写 Elasticsearch DSL 查询(Bool/Range/Aggregation),用 Kibana 构建运维 Dashboard
  • 能用 OpenTelemetry SDK 给应用插桩,实现跨服务链路追踪
  • 能根据 Trace 火焰图定位具体的慢函数调用

📖 深入阅读


K8s 安全加固#

是什么:RBAC 权限体系、网络策略、Pod 安全标准、零信任网络的综合安全实践。

为什么学:K8s 默认配置不安全。权限过松会导致横向移动攻击,网络不隔离会导致东西向渗透。

掌握标准

  • 能设计最小权限 RBAC 体系:按角色定义 ClusterRole,用 RoleBinding 限制命名空间
  • 能配置 NetworkPolicy 实现命名空间隔离和服务间白名单
  • 能用 kubectl auth can-i 验证权限,用 rakkess 可视化权限矩阵
  • 能解释 Pod Security Standards(Privileged/Baseline/Restricted)三级区别

📖 深入阅读


阶段三完成检验#

场景题:你负责 6 个 K8s 集群(2 个区域 × 3 环境)的 SRE 工作,团队 3 人。现在要建立一套从"发现故障"到"修复故障"的完整流程,要求:MTTA < 5 分钟,MTTR < 30 分钟,每季度至少做一次 GameDay 演练。请设计整套 SRE 工程体系。

预计总时间:10–18 个月