Centos7使用yum快速安装ansible
1. ansible功能简介:
ansible可以实现批量系统配置、批量软件部署、批量文件拷贝、批量运行命令等功能。 主要基于ssh实现连接,实现一个服务端(安装ansible的服务器)控制多个客户端
2.ansible的配置文件:
yum默认安装的ansible,常用的配置文件有两个: /etc/ansible/ansible.cfg: ansible服务器配置文件; /etc/ansible/hosts: 管理被控制主机的ip地址的文件
3. 示例
ansible服务器端(server40):192.168.1.40 ansible被控制端(server41):192.168.1.41 ansible被控制端(server42):192.168.1.42
大体思路:ansible服务器端免密登录被控制端,安装ansible服务,修改配置文件,发送命令测试,如果正常执行则说明成功了
3.1.免密登录
在服务器端(server40): a.执行ssh-keygen 生成密钥. (一路回车即可) b.接着执行ssh-copy-id 把密钥copy到两台客户端服务器上 ssh-copy-id root@server41 ssh-copy-id root@server42 c.测试是否可以免密登录 执行ssh server41 如果没有提示输入秘密就直接登入,说明免密登录成功了.
3.2安装ansible
在服务器端(server40): yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm yum install ansible -y
3.3.被控制端(server41, server42)
被控制端安装如下软件 yum install libselinux-python -y
3.4.配置ansible服务器
在服务器端(server40): 修改文件/etc/ansible/hosts
内容如下:
[root@localhost ~]# cat /etc/ansible/hosts |grep -v ^#|grep -v ^$
[server41]
192.168.1.41
[server42]
192.168.1.42
3.5.测试ansible功能
在ansible服务器端(在被管理主机上的root目录下创建一个test文件夹,默认情况下执行后会有警告,但是不影响)
ansible server41 -m command -a "mkdir /root/test"
参数说明:
ansible [被控制主机名] -a ["需要再控制机上执行的命令"]
server41 ?#主机组
-m ?#指定模块参数(command为默认模块,不写也可以)
command #模块名称
-a ?#指定利用模块执行的动作参数,-a后面的是要执行的命令
uptime #批量执行的命令
执行结果解释 ansible执行命令后输出信息中: 绿色——表示查询,或者没有发生任何改变 红色——表示命令操作出现异常 屎×××——对远程主机做了相应改动 粉色——对操作提出建议或忠告
3.6 测试结果
在被控制主机上查看,可以成功看到root目录下多了一个test文件夹
|