分级与隔离的意义
隔离解决的是「一次执行会影响哪些主机」的问题。典型分级是开发、测试、预发与生产,每级使用独立的清单与变量文件,凭据互不复用。隔离不只是把主机分组,更重要的是权限与默认行为:生产环境默认只读、变更动作需要显式声明,预发环境允许放开但数据必须脱敏,测试环境允许破坏性操作但不得连接生产依赖。
基本信息
| 隔离维度 | 清单、变量、凭据、网络、执行记录 |
|---|---|
| 常见分级 | 开发、测试、预发、生产 |
| 默认策略 | 生产默认只读,变更需显式开启 |
| 数据要求 | 测试环境使用脱敏或脱敏后数据 |
隔离设计要点
- 清单分离:每级独立清单文件,禁止用同一份清单通过变量切换环境。
- 凭据不复用:各级使用不同账号,生产凭据仅在受控入口可用。
- 变量分层:公共默认值在底层,环境差异在上层覆盖,避免复制。
- 网络隔离:测试环境不得直连生产数据库或消息队列。
- 执行留痕分级:生产执行记录保存期更长并限制访问。
- 变更闸门:进入生产的目标需经过明确审批或人工确认。
分级策略对照
| 级别 | 允许动作 | 数据要求 | 典型限制 |
|---|---|---|---|
| 开发 | 可破坏,可重建 | 样例数据 | 禁止连接生产依赖 |
| 测试 | 可变更,可回退 | 脱敏数据 | 资源配额受限 |
| 预发 | 按生产流程执行 | 接近生产的数据量 | 与生产同配置、不承载真实流量 |
| 生产 | 默认只读,变更需确认 | 真实数据 | 凭据最小化、执行留痕 |
预发环境最大的价值是验证流程本身:清单结构、变量覆盖、执行时长与回退路径都应与生产一致。若预发只能验证功能,那么生产阶段的意外依然会集中在流程上。
测试环境直连生产依赖是常见事故来源:一次压力测试或垃圾数据写入就能污染生产库。网络与凭据两层都要拦住。