首页/系统与基础设施/自动化运维速查/配置数据的单一来源原则
配置管理与编排60 条

配置数据的单一来源原则

单一来源原则要求每条配置数据只有一个权威定义处,其他位置只能引用或注入。落地靠明确归属系统、用引用替代复制、定期扫描并收敛重复定义,文档也不应复制具体值。

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

配置数据的单一来源原则是什么

单一来源原则指同一条配置数据在系统里只有一个权威定义处,其他位置只能引用不能各自维护副本。它的价值是消除「两处不一致」这类难复现故障:改了一处忘了另一处,行为就会与环境预期不符。落地要点有三条:明确每条数据的归属系统(配置仓库、配置中心、资产库、密钥库各管一类);下游通过引用或注入获取,而不是复制粘贴;发现重复定义时立即收敛,不让两处长期并存。

基本信息

定义每条配置数据只有一个权威来源
来源划分代码与配置仓库、配置中心、资产库、密钥库
下游获取方式引用、注入、按需拉取
禁止模式复制粘贴、多处手工维护、文档里写死具体值
治理动作定期扫描重复定义并收敛

典型使用场景

  • 多环境地址与端点集中在配置中心维护
  • 主机与设备清单以资产库为单一来源
  • 密钥只存密钥库,其他位置仅引用
  • 网络设备基线只存仓库,设备现状用于比对
  • 文档中的参数表由权威来源自动生成而非手写

判断是否违反单一来源

判断是否违反单一来源
# 1) 同一语义的值在几处出现?   多于一处 → 存在风险
# 2) 这些位置分别由谁修改?     多人都改 → 高风险
# 3) 改一处另一处会同步吗?     不会 → 违反原则
# 4) 下游是引用还是复制?       复制 → 应改造为引用
# 收敛动作:保留权威来源,其余位置改为引用或自动生成

数据类型与权威来源

数据类型权威来源副本带来的风险
应用配置配置仓库或配置中心副本导致环境行为不一致
资产信息资产库副本过期导致选错目标
凭据密钥库副本随仓库扩散导致泄露
基线配置配置仓库副本随时间偏离基线
文档也是副本来源:手写的参数表、拓扑图、清单极易过期。可行做法是让文档从权威来源自动生成,或在文档中只保留说明与链接而不复制具体值。
收敛重复定义时要先确认哪一侧是权威来源,并检查两侧实际差异。直接删掉副本可能丢掉只存在于副本中的、确实有效的本地改动。

易错点

  • 同一参数在配置中心与仓库各存一份,不一致时实际生效值取决于加载顺序,排错成本极高
  • 资产信息手工维护在多份文档中,选目标时用到过期副本,变更打到错误设备
  • 凭据在密钥库与脚本里各存一份,轮换只改一处导致认证失败
  • 文档中的参数表与实现脱节,团队按文档操作得出错误结论
  • 发现重复定义后只加同步机制不收敛来源,长期依赖人工纪律维持一致

数据来源与参考

  • 12-Factor App:配置与代码分离
  • Google SRE Book:配置数据管理
  • ITIL 4 配置管理实践指南

整理校对:其其网ICT文档中心 · 本页地址:docs.qiqicto.com/automation/single-source-of-truth-configuration.html

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