Ansible是一款为类Unix系统开发的自由开源的配置和自动化工具。它用Python写成,类似于Chef和Puppet,但是有一个不同和优点是我们不需要在节点中安装任何客户端。它使用SSH来和节点进行通信。


首先安装epel

#wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

#rpm -ivh epel-release-latest-7.noarch.rpm

 #yum repolist      ##检查是否已添加至源列表



第二步:使用yum安装Ansible

#yum install ansible

安装完成后,检查ansible版本:
# ansible --version


第三步:为Ansible定义节点的清单
文件 /etc/ansible/hosts 维护着Ansible中服务器的清单。
#vi/etc/ansible/hosts
[test-servers]
192.168.1.9
192.168.1.10

保存并退出文件。

    

第四步:设置用于节点鉴权的SSH密钥
在Ansible服务端生成密钥,并且复制公钥到节点中。
#ssh-keygen

使用ssh-copy-id命令来复制Ansible公钥到节点中。

#ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

#ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]


第五步:尝试在Ansible服务端运行命令
使用ping检查‘test-servers’或者ansible节点的连通性。
# ansible -m ping'test-servers'


执行shell命令

例子1:检查Ansible节点的运行时间(uptime)
# ansible -m command -a "uptime"'test-servers'     


例子2:检查节点的内核版本
# ansible -m command -a "uname -r"'test-servers'

例子3:给节点增加用户
# ansible -m command -a "useradd mark"'test-servers'
# ansible -m command -a "grep mark /etc/passwd"'test-servers'


useradd-ansible

例子4:重定向输出到文件中
# ansible -m command -a "df -Th"'test-servers'>/tmp/command-output.tx