1. 课程导论:冷启动削峰背景、Sigstore透明日志(Rekor)在供应链安全中的核心地位、课程目标与学习路径概览

1.1 冷启动削峰:为什么SRE需要关注这个命题?

在云原生软件供应链安全体系中,透明日志(Transparency Log) 是保障签名元数据可审计、不可篡改的核心基础设施。Sigstore 项目中的 Rekor 正是承担这一角色的关键组件。然而,当生产环境首次部署 Rekor 实例,或经历长时间离线后重新上线时,系统会面临一个严峻的挑战——冷启动(Cold Start)。

冷启动期间,Rekor 后端(通常基于 Trillian 的 Merkle Tree 实现)需要从零开始构建内存中的树状态、验证已存储的日志条目、并恢复检查点(Checkpoint)的完整性。这一过程会引发显著的 I/O 与 CPU 尖峰,导致查询延迟飙升、写入吞吐骤降,甚至触发上游客户端超时重试,形成恶性循环。

核心痛点: 冷启动削峰并非简单的“加机器”就能解决。它涉及数据预热、分片策略、缓存降级、查询路由与限流机制的协同调优,是 SRE 在可观测性驱动下必须掌握的专项技能。

1.2 Sigstore 透明日志(Rekor)在供应链安全中的核心地位

Sigstore 是一套用于签名、验证和保护软件供应链的开源工具链。其核心组件包括:

  • Cosign:容器镜像与工件的签名工具。
  • Fulcio:基于 OIDC 的短期证书颁发机构。
  • Rekor:透明日志服务器,记录所有签名元数据。

Rekor 在架构中扮演 不可篡改的审计日志 角色。每一次签名操作都会生成一条日志条目,包含签名者身份、工件哈希、证书链等信息。这些条目被组织成 Merkle Tree,并通过定期发布的 Signed Checkpoint 提供一致性证明。

组件 职责 对 SRE 的挑战
Rekor Server 接收日志写入请求,验证签名,生成 Merkle 叶子节点 写入 QPS 波动大,冷启动时树重建慢
Trillian Log 管理 Merkle Tree 的持久化与一致性 数据库连接池预热、树状态恢复耗时
Rekor Search 提供基于 UUID、哈希、公钥的查询接口 冷启动时索引未加载,查询退化为全表扫描
Signed Checkpoint 由一组 Witness 签名,保证日志的全局一致性 冷启动期间 Checkpoint 验证可能失败
关键理解: Rekor 的透明日志模型要求“写入即永久”。冷启动削峰的本质,是在保证数据完整性的前提下,让系统尽快进入稳定服务状态。

1.3 课程目标与学习路径概览

本课程旨在帮助 SRE 与可观测性工程师掌握以下能力:

  1. 诊断冷启动症状:通过可观测性指标(延迟、错误率、饱和度)识别 Rekor 冷启动阶段。
  2. 设计削峰策略:包括数据预热、连接池管理、查询缓存、限流与降级。
  3. 调优查询性能:优化 Rekor 的索引结构、分片策略与查询路由。
  4. 构建可观测性仪表盘:使用 Prometheus、Grafana 等工具实时监控 Rekor 健康状态。

学习路径分为四个阶段,每个阶段对应一个核心能力模块:

阶段 模块名称 核心产出
1 冷启动诊断与可观测性 冷启动检测 SLO、Grafana 仪表盘
2 削峰策略设计与实现 预热脚本、限流配置、降级方案
3 查询性能深度调优 索引优化、分片策略、缓存命中率提升
4 生产级混沌工程与压测 冷启动模拟、故障注入报告
冷启动削峰课程架构图 阶段1 冷启动诊断 与可观测性 SLO / 仪表盘 阶段2 削峰策略设计 与实现 预热 / 限流 / 降级 阶段3 查询性能 深度调优 索引 / 分片 / 缓存 阶段4 混沌工程 与压测 故障注入 课程交付物 • 可观测性仪表盘模板(Grafana JSON) • 冷启动压测脚本(k6 + chaos-mesh) • Rekor 调优配置清单(YAML) • 生产级削峰 Runbook 推荐学习时间线 第1-2周:阶段1(诊断与可观测性搭建) 第3-4周:阶段2(削峰策略实现与验证) 第5-6周:阶段3(查询性能调优) 第7-8周:阶段4(混沌工程与压测)

1.4 前置知识与环境要求

为获得最佳学习体验,建议学习者具备以下基础:

  • 熟悉 Linux 操作系统与容器化部署(Docker / Kubernetes)。
  • 了解 Prometheus + Grafana 的基本使用。
  • 对 Sigstore 生态有初步认知(至少了解 Cosign 签名流程)。
注意: 本课程不涉及 Sigstore 的安装部署基础,而是聚焦于生产环境中的性能调优与稳定性保障。如果你尚未部署过 Rekor,建议先参考 Sigstore 官方文档完成最小化部署。