我们将在CentOS 7上安装并配置Ansible,并且尝试管理两个节点。
Ansible 服务端�C ansible.linuxtechi.com ( 192.168.1.15 )
节点�C 192.168.1.9,192.168.1.10
第一步: 设置EPEL仓库
Ansible仓库默认不在yum仓库中,因此我们需要使用下面的命令启用epel仓库。
[root@ansible~]#rpm-iUvhhttp://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
第二步: 使用yum安装Ansible
[root@ansible~]#yuminstallansible
安装完成后,检查ansible版本:
[root@ansible~]#ansible--version
Box.me/data/attachment/album/201510/04/002401o8s2rwmm6rao2d2p.jpg">
ansible-version
第三步: 设置用于节点鉴权的SSH密钥
在Ansible服务端生成密钥,并且复制公钥到节点中。
root@ansible~]#ssh-keygen
Box.me/data/attachment/album/201510/04/002403t6i2z5hhh20ovefh.jpg">
ssh-keygen
使用ssh-copy-id命令来复制Ansible公钥到节点中。
Box.me/data/attachment/album/201510/04/002404sa190o5aett17xeo.jpg">
ssh-copy-id-command
第四步:为Ansible定义节点的清单
文件/etc/ansible/hosts
维护着Ansible中服务器的清单。
[root@ansible~]#vi/etc/ansible/hosts[test-servers]192.168.1.9192.168.1.10
主机文件示例如下:
Box.me/data/attachment/album/201510/04/002405stdkcztb84c8kytu.jpg">
ansible-host
第五步:尝试在Ansible服务端运行命令
使用ping检查‘test-servers’或者ansible节点的连通性。
[root@ansible~]#ansible-mping'test-servers'
Box.me/data/attachment/album/201510/04/002405dzsr3jj1ees5jv59.jpg">
ansible-ping
执行shell命令
例子1:检查Ansible节点的运行时间(uptime)
[root@ansible~]#ansible-mcommand-a"uptime"'test-servers'
Box.me/data/attachment/album/201510/04/002406dl835tsyweluy85j.jpg">
ansible-uptime
例子2:检查节点的内核版本
[root@ansible~]#ansible-mcommand-a"uname-r"'test-servers'
Box.me/data/attachment/album/201510/04/002406dafqtu4brrfbnrfz.jpg">
kernel-version-ansible
[root@ansible~]#ansible-mcommand-a"useraddmark"'test-servers'[root@ansible~]#ansible-mcommand-a"grepmark/etc/passwd"'test-servers'
Box.me/data/attachment/album/201510/04/002407fenruzp5eqtb4nnh.jpg">
useradd-ansible
[root@ansible~]#ansible-mcommand-a"df-Th"'test-servers'>/tmp/command-output.txt
Box.me/data/attachment/album/201510/04/002410h0t9t018h11g1fam.jpg">