ansible简介:
ansible是一个基于Python实现的开源管理工具,其编排引擎可以出色地完成配置管理、流程控制、资源部署等等多方面的工作。比起puppet和saltstack,ansible不需要安装客户端,只需要通过ssh的后台进程来连接管理。虽然ansible的时间比较短,但却是当下最火热的工具。
安装ansible的方法有很多种,比如从GitHub中获取源码、tar包、制作rpm、yum等方式进行安装。为了方便一点安装,小编这里使用阿里云的yum源来安装ansible。配置阿里云yum的方式
配置好阿里云yum源后,可以通过yum repolist的方式测试一下是否配置成功。
使用yum安装ansible的时候会自动安装这个软件所需要的依赖
yum -y install ansible
安装成功后可以执行下面的命令来检查是否安装成功,并且查看其版本、配置文件的路径、Python的版本等等信息
ansible --version
确认安装成功后,现在再开启两个Linux虚拟机,让这三个Linux的IP都在同一个网段,以便ssh能都ping通
然后修改ansible的主机清单文件,把另外两个主机IP写进去然后保存并退出
vim /etc/ansible/hosts
修改上图的部分就行了,然后保存并退出
接下来就要配置一下ssh无密码访问了。在控制机上执行下面的命令,创建秘钥对,
ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): <回车>
Enter passphrase (empty for no passphrase): <回车>
Enter same passphrase again: <回车>
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:Ju8GT2wkegZBh40nIujNmazGIpyUflPKt0eAubwU6eY root@svr3
The key's randomart image is:
+---[RSA 2048]----+
|. ..+. |
|o . =.o |
|..=.*+ |
| + @.o. . |
|= * =oo+S |
|oB @..+=+ |
|+ = +oo=. |
| E . oo |
| ... |
+----[SHA256]-----+
###到此为止已经创建好秘钥了###
创建好秘钥后通过ssh-copy-id的命令来下发到被管理的Linux上
ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.0.2
ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.0.5
上面的步骤完成后,可以使用ssh root@192.168.0.2,ssh root@192.168.0.5这两个命令来测试一下是否是免密登录另外两个Linux的。
接下来使用ansible来ping通一下两个被控制的Linux节点,ansible 192.168.0.2 -m ping
也可以使用ansible webservers -m ping 这命令一次ping两个Linux
能ping通后使用ansible的shell模块来让webservers组的服务器显示“hello ansible”
先在用户目录下创建一个资源清单文件
vim /home/inventory.cfg
[webservers]
192.168.0.2
192.168.0.5
执行下面的命令,让另外两个Linux显示“hello ansible”