1.1 问题
1.创建ansible工作目录
2.创建配置文件及主机列表文件
3.测试在远程主机执行命令
1.2 步骤
实现此案例需要按照如下步骤进行。
步骤一: 安装ansible
01.[root@localhost ~]# pip3 install ansible
步骤二: 创建ansible工作目录
01.[root@localhost ~]# mkdir /root/myansi/
步骤三:创建配置文件
01.[root@localhost ~]# cd /root/myansi/
02.[root@localhost myansi]# cat ansible.cfg
03.[defaults]
04.inventory =hosts
05.remote_user=root
步骤四:创建声明被管理主机
01.[root@localhost myansi]# vim hosts
02.[dbservers]
03.node1.tedu.cn
04.
05.[webservers]
06.node2.tedu.cn
07.node3.tedu.cn
步骤四:配置名称解析
01.[root@localhost myansi]# vim /etc/hosts
02.192.168.4.1 node1.tedu.cn node1
03.192.168.4.2 node2.tedu.cn node2
04.192.168.4.3 node3.tedu.cn node3
步骤五:导入所有服务器的主机公钥
01.[root@localhost myansi]# ssh-keyscan 192.168.4.{1..3} node{1..3} node{1..3}.tedu.cn >> ~/.ssh/known_hosts
步骤六:测试ansible到各服务器的连接
01.[root@localhost myansi]# ansible all -m ping –k
02.SSH password:
03.node1.tedu.cn | SUCCESS => {
04. "changed": false,
05. "ping": "pong"
06.}
07.node3.tedu.cn | SUCCESS => {
08. "changed": false,
09. "ping": "pong"
10.}
11.node2.tedu.cn | SUCCESS => {
12. "changed": false,
13. "ping": "pong"
14.}
步骤六:在远程主机执行命令
01.[root@localhost myansi]# ansible node1.tedu.cn -m yum -a 'name=httpd state=present' –k
02.[root@localhost myansi]# ansible all -a 'id zhangsan' -k