深色模式
运维自动化总览:什么该自动化
摘要:自动化不是把命令写成脚本,而是把高重复、高风险的事交给机器。本文给出一张四维评分表帮你排优先级,并给出从手工到自主的渐进路线。
适用环境
- 任意 Linux 服务器(AlmaLinux 9 / Ubuntu 22.04 均可)
- 一台能 SSH 到目标机器的管理机
- 具备 cd / ls / systemctl 级别的基础命令能力
操作步骤
1. 给待办事项打分
对每个重复动作按频率、耗时、风险、一致性各打 1-5 分(越高越值得做)。四项总分 ≥ 14 优先做,≤ 8 先别动,人工做反而便宜。
2. 按优先级排队
text
1. 备份与恢复演练 —— 高频高风险,必须能一键回滚
2. 软件安装/配置下发 —— 高频且一致性差
3. 巡检与报表 —— 脚本 + cron 就能解决
4. 资源开通/回收 —— Terraform 声明式管理
5. 故障自愈 —— 规则明确后再做
6. 一次性排障 —— 写文档,不要自动化1
2
3
4
5
6
2
3
4
5
6
3. 选工具:看管的是机器内部还是资源本身
text
装包、改配置、起服务 → Shell / Ansible
云主机、网络、数据库实例 → Terraform / OpenTofu
什么时候触发谁 → CI/CD / Argo CD1
2
3
2
3
路线:Shell → Ansible → Terraform → CI/CD → GitOps,每上一层以前一层为前提。
4. 先把现状记成清单
bash
mkdir -p ~/automation && cd ~/automation
cat > todo.md <<'EOF'
| 事项 | 频率 | 耗时 | 风险 | 一致性 | 总分 | 方案 |
|---|---|---|---|---|---|---|
| 新机初始化 | 每周 | 40min | 中 | 差 | 15 | Ansible |
EOF1
2
3
4
5
6
2
3
4
5
6
先标准化,再自动化
人工做的时候步骤都不固定,写成脚本只会把混乱固化下来。
验证
- [ ] 清单至少 5 项重复工作,且每项都有总分
- [ ] 排在第一位的事项总分 ≥ 14
- [ ] 每项能说出该用 Shell / Ansible / Terraform / CI 哪一类
常见坑
一上来就买平台
先有明确痛点再选工具。Shell + cron 能解决的事不要上重型平台。
只自动化「做」,忘了自动化「验」
脚本跑完就以为成功是最大隐患,每个动作都要带验证和回滚。
没有回滚就上生产
任何修改生产状态的自动化,都必须先回答「失败了怎么退回去」。