Ansible 常用命令速查
常用命令
ansible --version
ansible all -i inventory.ini -m ping
ansible all -i inventory.ini -m shell -a 'uptime'
ansible-playbook -i inventory.ini site.yml
ansible-playbook -i inventory.ini site.yml --check
ansible-playbook -i inventory.ini site.yml --diff
ansible-playbook -i inventory.ini site.yml --limit web
ansible-playbook -i inventory.ini site.yml --tags deploy
ansible-playbook -i inventory.ini site.yml --skip-tags slow
ansible-playbook -i inventory.ini site.yml -e 'version=1.2.3'
ansible-playbook -i inventory.ini site.yml --syntax-check
ansible-playbook -i inventory.ini site.yml --list-tasks
ansible-vault create secrets.yml
ansible-galaxy collection install -r requirements.yml
场景速查
| 目的 |
写法 |
| 查看 facts |
ansible all -i inv -m setup |
| 只跑某个任务 |
--start-at-task 'Deploy' |
| 限制并发 |
-f 10 |
| 提权 |
-b --become-user=root |
| 私钥 |
--private-key ~/.ssh/id_ed25519 |
| 动态 inventory |
-i inventory.py |
| 查看变量 |
ansible-inventory -i inv --list |
| 检查 playbook |
ansible-lint site.yml |
易错点
- 任务必须幂等;
shell/command 加 creates/changed_when。
--check 对依赖前序变更的任务可能不准。
- tags 写错会静默跳过任务;用
--list-tasks 确认。
- handlers 只在 changed 时触发;排查时看通知链。
- vault 密码文件权限要收紧,不要提交到仓库。
- inventory 的主机名和连接用户要明确;
localhost 默认可能是 local 连接。
- 大并发会压垮目标机;先小范围验证再放大
-f。
相关命令
ansible-playbook — 完整命令页
ansible-vault / ansible-galaxy — 密钥与依赖
ssh — 底层连接