Ansible
Ansible 在控制端读取 inventory(主机清单)和 YAML Playbook,通过模块管理远端状态。Linux 常用 SSH 连接,受管端通常需要 Python,无需常驻 Ansible agent。
控制端使用 Linux、macOS 或 Windows 的 WSL。已有 pipx 时可安装完整社区包:
pipx install --include-deps ansible
ansible --version
常用命令
ansible-inventory -i inventory.ini --graph
ansible web -i inventory.ini -m ansible.builtin.ping
ansible-playbook -i inventory.ini site.yml --syntax-check
ansible-playbook -i inventory.ini site.yml --check --diff
ping 模块验证连接和 Python 执行能力,不是 ICMP ping。清单示例见官方入门。
关键坑点
- 幂等取决于模块和任务写法;反复执行
shell不自动成为幂等操作。 --check是模块支持范围内的预测,不保证所有任务都能模拟;--diff可能输出敏感配置。见检查模式。- 先用
--limit限定测试主机;密钥和密码从运行环境注入,避免写入清单。