适用场景

手工登录 50 台服务器改配置,出错概率极高且没有记录。自动化不是为了炫技,而是"一次编写、批量执行、结果可查"。

配置步骤(敏感信息与权限控制)

# 加密变量文件
ansible-vault create group_vars/all/vault.yml
ansible-vault edit group_vars/all/vault.yml
# 执行时提供密码
ansible-playbook site.yml --ask-vault-pass

关键参数与建议

  • 先建清单(inventory)与分组,按角色组织主机
  • 幂等性优先:脚本重复执行结果一致,避免"跑两次就坏"
  • 敏感信息用 ansible-vault 加密,不要明文写在 playbook
  • 批量操作前先 --check 与 -l 限制范围,避免误伤全网
  • 执行结果归档(谁在什么时候改了什么)

容易踩的坑

  • 口令明文写在 playbook 或 Git 里
  • 所有人共用一份 vault 口令,无法追责
  • 未做权限控制,谁都能改生产 playbook

验证与巡检

grep -rn 'password' group_vars/ | head
  • 巡检:无明文口令、vault 文件已加密、变更走 Git 审计

小结

自动化的落地顺序:先做只读巡检(收集信息)→ 再做低风险变更(时间同步、日志配置)→ 最后做高风险变更(网络与安全策略)。

> 说明:文中命令为通用写法,不同型号/版本可能略有差异,落地前请对照设备实际版本的官方文档;带外管理与安全设备变更建议先在测试设备验证。