文档
安装
直接安装
- CentOS
sudo yum install -y ansible
- Ubuntu
sudo apt-get install software-properties-common
sudo apt-add-repository ppa:ansible/ansible
sudo apt-get update
sudo apt-get install ansible
测试
- 修改配置
/etc/ansible/hosts
192.168.1.73
192.168.1.157
- 简单命令
sudo ansible all -m ping
sudo ansible all -a "/bin/echo hello"
sudo ansible all -a "ls -l /root"
ansible all -i hosts --list-hosts
ansible all -i hosts -m "shell" -a 'hostname && ls -l'
公钥认证
Ansible1.2.1及其之后的版本都会默认启用公钥认证.
如果有个主机重新安装并在“known_hosts”中有了不同的key,这会提示一个错误信息直到被纠正为止.在使用Ansible时,你可能不想遇到这样的情况:如果有个主机没有在“known_hosts”中被初始化将会导致在交互使用Ansible或定时执行Ansible时对key信息的确认提示.
如果你想禁用此项行为并明白其含义,你能够通过编辑 /etc/ansible/ansible.cfg or ~/.ansible.cfg来实现:
[defaults]
host_key_checking = False
- 或者通过设置环境变量来实现:
export ANSIBLE_HOST_KEY_CHECKING=False
初始化playbooks项目
mkdir -p project-name/{group_vars,host_vars,library,filter_plugins}
touch project-name/{production,staging,site.yml}
roles脚手架
ansible-galaxy init <roles name>
查看内置变量
ansible -i hosts masters -m setup