3. 演练目标与范围
本次升级窗口演练聚焦于服务网格在生产环境中的两个核心治理动作:路由表动态调整与mTLS 准入核验。演练旨在验证网格控制面在配置变更、证书轮换场景下的行为正确性,同时确保业务流量不中断、安全策略不失效。
3.1 业务目标
| 序号 | 业务目标 | 验收标准 |
|---|---|---|
| 1 | 验证灰度发布场景下路由表的动态生效能力 | 新版本服务接收 10% 流量,旧版本接收 90%,误差 < 1% |
| 2 | 验证 mTLS 证书轮换期间双向 TLS 不中断 | 轮换过程中零 4xx/5xx 错误,连接无重置 |
| 3 | 验证非法身份(无有效证书)的请求被正确拒绝 | 准入核验返回 403,日志记录完整 |
| 4 | 验证路由表与 mTLS 策略的联合生效顺序 | 先路由后认证,非法请求在路由层即被拦截 |
3.2 技术范围
本次演练覆盖以下技术组件与配置维度:
- 控制面:Istiod 1.18+,负责下发 VirtualService、DestinationRule、PeerAuthentication 资源
- 数据面:Envoy 1.28+ Sidecar,承载路由表与 mTLS 准入逻辑
- 证书管理:自建 CA + cert-manager,证书有效期 90 天,演练使用 24 小时短周期证书
- 路由策略:基于 Header 的权重路由(v1:v2 = 90:10),含超时与重试配置
- mTLS 策略:STRICT 模式,PeerAuthentication 全局生效,AuthorizationPolicy 做细粒度准入
边界说明:本次演练不涉及多集群联邦、外部服务入口(Egress)、Wasm 插件扩展及可观测性平台对接。
3.3 非功能性要求
| 类别 | 要求 | 指标 |
|---|---|---|
| 可用性 | 演练期间业务流量零中断 | 错误率 < 0.01%,P99 延迟增幅 < 5% |
| 时效性 | 路由表变更生效时间 | 控制面下发至 Sidecar 生效 < 5s |
| 安全性 | mTLS 证书轮换期间不暴露明文流量 | 轮换窗口内无明文连接建立 |
| 可观测性 | 演练全程可审计、可回放 | 访问日志、证书指纹、路由命中次数全量记录 |
| 回滚能力 | 路由表或证书异常时可快速回退 | 回滚操作 < 30s,流量恢复至稳定版本 |
3.4 演练架构与流量路径
下图展示了本次演练的核心组件关系与流量处理流程:
关键设计点:路由表与 mTLS 准入在 Sidecar 代理内按顺序执行——先根据 VirtualService 规则匹配目标版本,再对目标端点执行证书身份校验。非法请求在路由阶段即被拒绝,不会进入 mTLS 核验阶段,减少不必要的证书验证开销。
3.5 演练场景矩阵
| 场景编号 | 场景名称 | 操作内容 | 预期结果 |
|---|---|---|---|
| S-01 | 路由表权重调整 | 将 v1:v2 权重从 100:0 调整为 90:10 | 流量按比例分发,无错误 |
| S-02 | mTLS 证书轮换 | 触发证书重新签发,模拟证书过期 | 新证书 5s 内生效,连接不中断 |
| S-03 | 非法身份准入拒绝 | 使用无有效证书的客户端发起请求 | 返回 403,日志记录身份信息 |
| S-04 | 路由表回滚 | 将权重恢复至 100:0 | 30s 内流量全部切回 v1 |
| S-05 | 联合生效验证 | 同时修改路由表与 mTLS 策略 | 先路由后认证,无冲突 |
注意事项:演练前需确认所有 Sidecar 已启用 STRICT mTLS 模式,且证书链完整。若存在 PERMISSIVE 模式的命名空间,需提前迁移,否则演练结果可能不准确。