首页/系统与基础设施/自动化运维速查/期望状态与漂移的自动化语义
自动化基础与选型50 条

期望状态与漂移的自动化语义

期望状态是自动化声明的「系统应当长什么样」,漂移是实际状态偏离期望状态;自动化的语义就是持续比对两者并按差异收敛。漂移来源包括手工改动、其他自动化写入、版本升级与外部依赖变化,治理手段是区分可自愈与需人工确认的漂移,并把检测做成常态而不是临时排查。

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌​​‌​‌‌‌‌​‌‌​​​​‌​‌‌‌​‌​‌​‌‌‌​‌​​​‌‌​‌‌‌‌​‌‌​‌‌​‌​‌‌​​​​‌​‌‌‌​‌​​​‌‌​‌​​‌​‌‌​‌‌‌‌​‌‌​‌‌‌​​​‌​‌‌‌‌​‌‌​​‌​​​‌‌​​‌​‌​‌‌‌​​‌‌​‌‌​‌​​‌​‌‌‌​​‌​​‌‌​​‌​‌​‌‌​​‌​​​​‌​‌‌​‌​‌‌‌​​‌‌​‌‌‌​‌​​​‌‌​​​​‌​‌‌‌​‌​​​‌‌​​‌​‌​​‌​‌‌​‌​‌‌​​‌​​​‌‌‌​​‌​​‌‌​‌​​‌​‌‌​​‌‌​​‌‌‌​‌​​​​‌​‌‌​‌​‌‌​​​​‌​‌‌‌​‌​‌​‌‌‌​‌​​​‌‌​‌‌‌‌​‌‌​‌‌​‌​‌‌​​​​‌​‌‌‌​‌​​​‌‌​‌​​‌​‌‌​‌‌‌‌​‌‌​‌‌‌​​​‌​‌‌​‌​‌‌‌​​‌‌​‌‌​​‌​‌​‌‌​‌‌​‌​‌‌​​​​‌​‌‌​‌‌‌​​‌‌‌​‌​​​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌​‌​​​​‌‌‌​‌​​​‌‌​‌‌​‌​‌‌​‌‌​​

期望状态与漂移

期望状态是写在自动化资产里的目标描述:软件包应为某版本、配置项应为某值、服务应处于运行状态。实际状态是机器现在的样子,两者不一致即形成漂移。自动化的语义是「发现差异并收敛」,因此它必须解决三个问题:期望状态写在哪里、现状从哪里读、差异由谁决定是否修复。只把期望状态写进文档而没有比对机制,等于没有自动化。

基本信息

期望状态载体配置管理资产、编排清单、模板与变量文件
现状来源主机事实采集、接口查询、状态文件或快照
比对方式干跑、计划模式或定期巡检任务
处置策略自动收敛、告警人工确认、或列入豁免清单

常见漂移来源

  • 应急手工改动:故障时直接改配置文件,事后未回写自动化资产。
  • 其他自动化写入:另一套脚本或平台也管同一份配置,互相覆盖。
  • 升级与补丁:软件包升级顺带改写了默认配置模板。
  • 外部依赖变化:证书到期、上游地址变更导致实际配置需要调整。
  • 扩容与缩容:新节点未按同一基线初始化,带着默认配置上线。

漂移处置策略

漂移类型典型例子建议处置
可自愈漂移目录权限被改、配置项被注释掉巡检发现即自动收敛
需确认漂移端口、副本数被人为调整告警并等待人工确认再收敛
合法漂移应急期间临时放宽的参数登记豁免与到期时间
基线漂移新节点未按统一基线初始化纳入交付流程,从源头修正
工具冲突漂移两套自动化写同一文件收敛资产归属,划清边界
漂移检测的价值在于把「配置什么时候被改的」变成可回答的问题。周期巡检任务产出的差异报告要落到可检索的位置,并与变更工单关联,否则报告只会变成没人看的附件。
不要对全部漂移一律自动收敛:应急期间人工改的参数被自动化无提示地覆盖,可能直接放大故障。收敛前先区分漂移性质,必要时按服务与时间窗设置收敛豁免。

易错点

  • 只声明期望状态不做比对:文档与现网长期不一致,事故复盘时无法判断哪个版本才是真实的
  • 自动收敛无告知:运维为应急临时调整的参数被静默改回,故障现场被破坏且没有记录
  • 多处资产管同一份配置:收敛任务互相覆盖,表现为配置反复来回变化却找不到原因
  • 豁免无期限:为应急登记的例外永久生效,几年后没人记得为什么这条配置不能被自动化管理

数据来源与参考

  • Kubernetes 官方文档(声明式配置与控制器调和模型)
  • HashiCorp《Terraform 官方文档:状态文件与漂移检测》
  • Red Hat《Ansible 官方文档:check mode 与差异报告》

整理校对:其其网ICT文档中心 · 本页地址:docs.qiqicto.com/automation/desired-state-drift-automation-semantics.html

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌​​‌​‌‌‌‌​‌‌​​​​‌​‌‌‌​‌​‌​‌‌‌​‌​​​‌‌​‌‌‌‌​‌‌​‌‌​‌​‌‌​​​​‌​‌‌‌​‌​​​‌‌​‌​​‌​‌‌​‌‌‌‌​‌‌​‌‌‌​​​‌​‌‌‌‌​‌‌​​‌​​​‌‌​​‌​‌​‌‌‌​​‌‌​‌‌​‌​​‌​‌‌‌​​‌​​‌‌​​‌​‌​‌‌​​‌​​​​‌​‌‌​‌​‌‌‌​​‌‌​‌‌‌​‌​​​‌‌​​​​‌​‌‌‌​‌​​​‌‌​​‌​‌​​‌​‌‌​‌​‌‌​​‌​​​‌‌‌​​‌​​‌‌​‌​​‌​‌‌​​‌‌​​‌‌‌​‌​​​​‌​‌‌​‌​‌‌​​​​‌​‌‌‌​‌​‌​‌‌‌​‌​​​‌‌​‌‌‌‌​‌‌​‌‌​‌​‌‌​​​​‌​‌‌‌​‌​​​‌‌​‌​​‌​‌‌​‌‌‌‌​‌‌​‌‌‌​​​‌​‌‌​‌​‌‌‌​​‌‌​‌‌​​‌​‌​‌‌​‌‌​‌​‌‌​​​​‌​‌‌​‌‌‌​​‌‌‌​‌​​​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌​‌​​​​‌‌‌​‌​​​‌‌​‌‌​‌​‌‌​‌‌​​