3. 升级窗口定义:窗口类型与参数体系
升级窗口是集群治理中控制变更风险的“时间阀门”。在租户隔离蓝图上线前,必须对窗口类型、参数约束和冷却机制进行标准化定义,以确保多租户集群的升级操作可预测、可审计、可回退。本节从窗口类型和窗口参数两个维度展开,并引入冷却期概念,形成完整的升级窗口防护模型。
3.1 窗口类型:三种模式覆盖全场景
根据变更紧急程度和影响范围,升级窗口分为三类:
| 窗口类型 | 适用场景 | 审批流程 | 典型持续时间 | 冷却期要求 |
|---|---|---|---|---|
| 固定窗口 | 计划内大版本升级、季度安全更新 | 提前 7 天审批,变更委员会评审 | 4–8 小时 | ≥ 72 小时 |
| 滚动窗口 | 小版本补丁、热修复、配置变更 | 提前 24 小时审批,SRE 主管确认 | 1–4 小时 | ≥ 24 小时 |
| 紧急窗口 | 安全漏洞 CVE、生产事故阻断 | 即时审批,值班经理 + 安全官双签 | ≤ 1 小时 | ≥ 12 小时(事后补录) |
实践建议:固定窗口和滚动窗口应提前录入变更日历,与租户隔离策略联动——在窗口开启前自动冻结目标集群的租户资源迁移,避免升级过程中出现数据面不一致。
3.2 窗口参数:开始时间、持续时间与冷却期
每个升级窗口由三个核心参数定义,形成“何时开始、持续多久、多久后才能再升级”的完整约束链。
- 开始时间(Start Time):窗口的精确启动时刻,采用 UTC 时间戳 + 时区偏移量记录。对于固定窗口和滚动窗口,开始时间必须落在业务低峰期(如凌晨 02:00–06:00);紧急窗口允许任意时刻触发,但需自动记录触发原因。
- 持续时间(Duration):窗口从开始到强制关闭的最大时长。超过持续时间后,系统自动终止未完成的升级操作并触发回滚流程。持续时间应包含升级操作本身 + 预留的 15% 缓冲时间。
- 冷却期(Cooldown Period):窗口关闭后到下一个窗口开启之间的最小间隔。冷却期内禁止对同一集群或同一租户组发起任何升级操作,用于观察升级后集群稳定性、收集监控指标并处理潜在副作用。
参数校验规则:冷却期 ≥ 持续时间 × 3(经验公式)。例如:固定窗口持续 6 小时,冷却期至少 18 小时;实际生产建议设为 72 小时以覆盖完整业务周期。
3.3 窗口生命周期与状态转换
下图展示了升级窗口从创建到关闭的完整状态机,以及冷却期在其中的位置:
3.4 窗口参数配置示例
以下 YAML 配置展示了固定窗口、滚动窗口和紧急窗口在 Kubernetes 自定义资源中的定义方式:
apiVersion: upgrade.cluster.io/v1
kind: UpgradeWindow
metadata:
name: fixed-quarterly-v1.28
namespace: cluster-gov
spec:
windowType: Fixed
startTime: "2025-04-15T02:00:00Z"
duration: 6h
cooldownPeriod: 72h
affectedClusters:
- prod-us-east-1
- prod-eu-west-1
approvalRequired: true
approverGroup: "change-advisory-board"
---
apiVersion: upgrade.cluster.io/v1
kind: UpgradeWindow
metadata:
name: rolling-hotfix-20250410
namespace: cluster-gov
spec:
windowType: Rolling
startTime: "2025-04-10T03:00:00Z"
duration: 2h
cooldownPeriod: 24h
affectedClusters:
- staging-us-east-1
approvalRequired: true
approverGroup: "sre-oncall"
---
apiVersion: upgrade.cluster.io/v1
kind: UpgradeWindow
metadata:
name: emergency-cve-2025-1234
namespace: cluster-gov
spec:
windowType: Emergency
startTime: "2025-04-08T14:30:00Z" # 即时触发
duration: 45m
cooldownPeriod: 12h
affectedClusters:
- prod-us-east-1
- prod-eu-west-1
- prod-ap-southeast-1
approvalRequired: true
approverGroup: "security-officer,sre-manager"
incidentRef: "INC-20250408-001"
注意:紧急窗口的
startTime 应设置为实际触发时间,而非预填时间。冷却期 cooldownPeriod 在紧急场景下可缩短,但必须满足“事后补录 + 双签审批”的合规要求,否则视为违规变更。
3.5 窗口参数与租户隔离的联动策略
在租户隔离蓝图上线后,升级窗口参数需要与租户分组、资源配额、Pod 安全策略等隔离维度协同工作。下表总结了关键联动点:
| 窗口参数 | 租户隔离联动策略 | 防护验证要点 |
|---|---|---|
| 开始时间 | 窗口开启前 30 分钟自动冻结目标集群的租户资源迁移 | 验证冻结 API 是否生效,租户无法创建/删除 Pod |
| 持续时间 | 持续时间过半时触发“租户影响评估”检查点 | 验证检查点是否记录当前租户的 Pod 中断数 |
| 冷却期 | 冷却期内禁止对同一租户组内的其他集群发起升级 | 验证冷却期锁是否跨集群生效 |
通过上述窗口类型定义、参数约束和冷却期机制,升级窗口从单一的时间段概念升级为多租户环境下的变更防护阀门,为后续的“窗口防护验证”章节奠定参数基础。