1. 课程导论:SLO与自愈的概念、Kubernetes自愈能力概述、本课程目标与受众

1.1 从SRE基石到自愈闭环

在站点可靠性工程(SRE)实践中,服务等级目标(SLO)是衡量系统健康度的核心量化指标。传统运维依赖人工告警与被动响应,而现代云原生架构要求系统具备自愈(Self-Healing)能力——即在检测到SLO偏离时,自动触发修复动作,将系统拉回健康状态。

核心公式: 自愈 = 持续观测(SLO) + 事件判定(Burn Rate) + 自动化修复(Operator/Workflow)

本课程将SLO与自愈能力深度绑定,构建一套基于SLO事件触发验证的测试方法论,确保自愈逻辑在真实故障场景下可被量化验证。

1.2 SLO与自愈概念对比

概念 定义 在自愈中的角色
SLO 服务等级目标,如99.9%可用性、P99延迟<200ms 自愈触发阈值与验证标准
SLI 服务等级指标,如请求成功率、延迟分布 自愈闭环中的实时观测数据源
Burn Rate 错误预算消耗速率,衡量SLO偏离的紧急程度 决定自愈动作的优先级与响应级别
自愈动作 Pod重启、流量切换、扩容、配置回滚等 SLO偏离后的自动化修复执行单元
验证闭环 自愈后重新评估SLO是否恢复 确认修复有效,避免无限循环

1.3 Kubernetes原生自愈能力概述

Kubernetes内置了多层自愈机制,但仅靠原生能力无法覆盖复杂的SLO驱动场景。下表梳理了K8s原生自愈与SLO驱动自愈的差异:

层级 K8s原生能力 SLO驱动增强方向
Pod级别 liveness/readiness探针、restartPolicy 基于应用层SLO(如P99延迟)触发优雅重启
节点级别 Node Controller驱逐、污点容忍 结合集群级SLO(如节点资源利用率)触发主动排空
工作负载级别 ReplicaSet自动恢复、HPA水平扩缩 基于Burn Rate动态调整扩缩阈值与步长
服务网格级别 无原生支持 通过Istio/Envoy指标触发流量切换或熔断
关键洞察: 原生K8s自愈是"进程存活"级别的修复,而SLO驱动自愈是"业务健康"级别的修复。本课程聚焦后者,通过事件触发验证将两者桥接。

1.4 SLO事件触发自愈架构

下图展示了基于SLO事件触发自愈的核心架构,包含观测、判定、执行、验证四个阶段:

SLO事件触发自愈架构 观测层 Prometheus / Metrics 判定层 SLO Burn Rate 计算 执行层 Operator / Workflow 验证层 SLO 恢复评估 持续观测 SLI 数据采集 窗口滑动聚合 自动化修复 Pod 优雅重启 流量切换 / 扩容

1.5 本课程目标与受众

课程目标

  • 掌握SLO驱动的自愈测试方法论: 从指标定义、Burn Rate计算到事件触发验证的完整链路。
  • 构建可复用的自愈测试框架: 基于Kubernetes Operator、Chaos Mesh、Prometheus等工具,实现故障注入与SLO验证的自动化。
  • 建立SLO验证闭环: 确保每次自愈动作后,系统SLO能够恢复到预期水平,避免"假自愈"。
  • 产出可量化的测试报告: 通过SLO恢复时间、Burn Rate消耗、自愈成功率等指标评估自愈效果。

目标受众

角色 前置知识要求 本课程核心收益
SRE工程师 熟悉SLO/SLI概念、K8s基础运维 将SLO从监控指标转化为自愈驱动引擎
K8s平台工程师 K8s Operator开发经验、CRD理解 设计SLO感知的自愈Operator与控制器
测试架构师 混沌工程基础、自动化测试框架设计 构建SLO驱动的故障注入与验证测试体系
DevOps工程师 CI/CD流程、Prometheus/Grafana使用 将自愈验证集成到发布流水线中
重要提示: 本课程不教授基础K8s操作或PromQL语法。学员应具备K8s集群管理经验,并了解Prometheus指标采集与告警规则配置。课程中涉及的所有故障注入操作必须在非生产环境中执行。

1.6 课程内容结构概览

本课程共30章,分为四大模块,逐步构建SLO事件触发自愈测试的完整知识体系:

  1. 基础篇(第1-8章): SLO/SLI/Burn Rate理论、K8s自愈机制深度解析、事件触发模型设计。
  2. 工具篇(第9-16章): Prometheus SLO监控配置、Chaos Mesh故障注入、Argo Workflows事件编排、自愈Operator开发。
  3. 实践篇(第17-24章): 典型故障场景(Pod崩溃、网络延迟、节点故障)的自愈测试用例设计与执行。
  4. 进阶篇(第25-30章): 多SLO联合触发、自愈策略调优、SLO验证报告生成、生产环境最佳实践。
学习建议: 每章末尾包含"自愈验证清单"与"常见陷阱",建议学员在实验环境中同步操作。第17章起提供完整的测试脚本与YAML配置,可直接用于自愈场景验证。