1、配置hosts文件,Ansible依赖hosts文件进行主机通讯,不能直接在命令行上直接输入IP。
vi /etc/ansible/hosts
hosts文件格式如下:
[servers]
host1 ansible_ssh_host=192.0.2.1
host2 ansible_ssh_host=192.0.2.2
host3 ansible_ssh_host=192.0.2.3
2、在控制机配置免密登录到被控制机
这一步参考:https://www.cnblogs.com/EasonJim/p/7569611.html
如果不想免密登录可以在命令后面加上即时询问密码:
ansible --ask-pass
即时询问密码时前提需要安装sshpass组件。
3、简单使用命令
ping:
# 全部
ansible -m ping all
# 组
ansible -m ping servers
# 单独某台
ansible -m ping hosts1
自定义命令:
ansible -m shell -a 'free -m' host1
其实主要的关键点在-m参数,表示模块,Ansible的核心点是模块。
4、针对某个组的特定配置文件
比如增加运行的用户
mkdir /etc/ansible/group_vars
vi /etc/ansible/group_vars/servers
# 增加如下内容,格式为YAML
ansible_ssh_user: www-data
5、Ansible的核心playbook,这里不做探讨,有点难。
参考:
https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-ansible-on-centos-7
https://www.howtoing.com/how-to-install-and-configure-ansible-on-centos-7