执行 Ansible 剧本
ansible-playbook 按 inventory 和 playbook 配置主机,执行任务、处理器和角色。它适合配置管理和编排,核心要求是幂等和可重复执行。
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 --vault-password-file .vault_pass
ansible-playbook -i inventory.ini site.yml --syntax-check
ansible-playbook -i inventory.ini site.yml --list-tasks
ansible-playbook -i inventory.ini site.yml -f 20 -vvv
command/shell 时加 creates/changed_when,否则每次都报变更。--check 对依赖前序变更的任务可能不准;先在小范围验证。become 和 become_user 要显式配置;权限失败先看 SSH 用户和 sudo 规则。--limit 只限制目标,不会跳过依赖这些主机的事实收集。--list-tasks 确认实际执行范围。delegate_to 和 run_once 会改变执行主机;变量作用域要确认。ansible-vault — 加密敏感变量ansible-galaxy — 安装角色和集合ssh — 底层连接合上页面,先回答,再展开对照。
command/shell 模块时如何避免每次都报 changed?--check 的结果一定准确吗?creates/changed_when 等条件,保持任务幂等。否则每次执行都会被判定为变更。--list-tasks 确认实际执行范围。