ansible功能简介:ansible可以实现批量系统配置、批量软件部署、批量文件拷贝、批量运行命令等功能。主要基于ssh实现连接各个被控制端
yum默认安装的ansible,常用的配置文件有两个,一个是ansible服务器配置文件/etc/ansible/ansible.cfg,另一个则是用力管理被控制主机的ip地址的 /etc/ansible/hosts
ansible服务器端:172.16.13.159
ansible被控制端:172.16.13.158
大体思路:ansible服务器端免密登录被控制端,安装ansible服务,修改配置文件,发送命令测试,如果正常执行则说明成功了
1.免密登录
在服务器端:
执行ssh-keygen 生成密钥
接着执行ssh-copy-id root@172.16.13.158 输入158的秘密
最后执行ssh 172.16.13.158如果没有提示输入秘密就直接登入158,说明免密登录成功了
2.安装ansible
在服务器端:
先安装epel源,下载路径https://fedoraproject.org/wiki/EPEL 找到epel-releaselatest-7下载
执行yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum install ansible -y
3.被控制端
被控制端安装如下软件
yum install libselinux-python -y
4.配置ansible服务器
在服务器端:
修改文件/etc/ansible/hosts
内容如下
[root@localhost ~]# cat /etc/ansible/hosts |grep -v ^#|grep -v ^$
[george]
172.16.13.158
[root@localhost ~]#
5.测试ansible功能
在ansible服务器端(在被管理主机上的root目录下创建一个a文件夹,默认情况下执行后会有警告,但是不影响)
ansible george -m command -a "mkdir /root/a"
PS:
查看的是george主机组,模块为command,的主机负载信息
george #主机组
-m #指定模块参数(command为默认模块,不写也可以)
command #模块名称
-a #指定利用模块执行的动作参数,-a后面的是要执行的命令
uptime #批量执行的命令
执行结果解释
ansible执行命令后输出信息中:
绿色——表示查询,或者没有发生任何改变
红色——表示命令操作出现异常
屎×××——对远程主机做了相应改动
粉色——对操作提出建议或忠告
如下图:第一个结果因组不存在告警,第二个结果则执行正常
6.在被控制主机上查看,可以成功看到root目录下多了一个a文件夹