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 与可观测性工程师掌握以下能力:
- 诊断冷启动症状:通过可观测性指标(延迟、错误率、饱和度)识别 Rekor 冷启动阶段。
- 设计削峰策略:包括数据预热、连接池管理、查询缓存、限流与降级。
- 调优查询性能:优化 Rekor 的索引结构、分片策略与查询路由。
- 构建可观测性仪表盘:使用 Prometheus、Grafana 等工具实时监控 Rekor 健康状态。
学习路径分为四个阶段,每个阶段对应一个核心能力模块:
| 阶段 | 模块名称 | 核心产出 |
|---|---|---|
| 1 | 冷启动诊断与可观测性 | 冷启动检测 SLO、Grafana 仪表盘 |
| 2 | 削峰策略设计与实现 | 预热脚本、限流配置、降级方案 |
| 3 | 查询性能深度调优 | 索引优化、分片策略、缓存命中率提升 |
| 4 | 生产级混沌工程与压测 | 冷启动模拟、故障注入报告 |
1.4 前置知识与环境要求
为获得最佳学习体验,建议学习者具备以下基础:
- 熟悉 Linux 操作系统与容器化部署(Docker / Kubernetes)。
- 了解 Prometheus + Grafana 的基本使用。
- 对 Sigstore 生态有初步认知(至少了解 Cosign 签名流程)。
注意: 本课程不涉及 Sigstore 的安装部署基础,而是聚焦于生产环境中的性能调优与稳定性保障。如果你尚未部署过 Rekor,建议先参考 Sigstore 官方文档完成最小化部署。