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文件夹

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐