《空气和水》ITMS 系列 -- 写在前面与网络设备中的配置管理
写在前面
2014 - 2024 作者 H 入职一家 IT 运维软件开发公司十年来,对 ITMS 的一些想法
主要工作对象为高校的园区网、数据中心等 IT 基础设施
想法很多、很杂,先记录下来,有空慢慢整理、归类、迭代
网络设备 配置管理
设想,理想情况下如果一个网络,硬件没变过,配置也没变过,那么这个网络只要今天是好的,那么明天肯定也是好的
虽然现实中有更多的意外会发生,如断电、断线、被偷等等,但配置管理应该是 ITMS 中的重要一环
硬件确定了,配置确定了,那么这个网络就确定了,网络的功能和行为都确定了
Configuration-as-code
CaC 配置即代码
借鉴代码管理中应用最广的 git 版本管理的经验,网络的配置也有必要这么管理
我们不妨来对应一下
- repo: 一张网就是一个 repo,其中有文件,即某台设备的配置,和文件类,即某种分类组织方式
- branch, tag: 如果有条件做网络仿真,倒也可以区分 dev 和 prod 分支,但一般不太可能;tag 打标签是有用的
- commit: 配置一般可分为 startup config 和 running config,如果有差异,则可视 running config 为未提交的修改
除了版本管理之外,在代码管理方面的成熟经验也很有启发
- comment: 备注,这段配置是干嘛的 for who, for what
- diff: 设备间横向对比,时间上纵向对比
- template: 许多接入设备是不是配置都差差不多,模板库不考虑一下么
- snippet: 实用配置收集
- static analysis: 合规性检查
- ci/cd: 持续集成,hook
- ai: 输入硬件型号、固件版本,输入想做的操作,让 AI 帮你生成配置吧