Ansible是一款为类Unix系统开发的自由开源的配置和自动化工具。它用Python写成,类似于Chef和Puppet,但是有一个不同和优点是我们不需要在节点中安装任何客户端。它使用SSH来和节点进行通信。本篇中我们将在CentOS 7上安装并配置Ansible,并且尝试管理两个节点。
- Ansible 服务端 – ansible.linuxtechi.com ( 192.168.1.15 )
- 节点 – 192.168.1.9 , 192.168.1.10
第一步: 设置EPEL仓库
Ansible仓库默认不在yum仓库中,因此我们需要使用下面的命令启用epel仓库。
[root@ansible ~]# rpm -iUvh http://dl.Fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
第二步: 使用yum安装Ansible
[root@ansible ~]#yum install ansible
安装完成后,检查ansible版本:
[root@ansible ~]# ansible --version
ansible-version 第三步: 设置用于节点鉴权的SSH密钥
在Ansible服务端生成密钥,并且复制公钥到节点中。
root@ansible ~]#ssh-keygen
ssh-keygen使用ssh-copy-id命令来复制Ansible公钥到节点中。
ssh-copy-id-command 第四步:为Ansible定义节点的清单
文件
/etc/ansible/hosts 维护着Ansible中服务器的清单。
[root@ansible ~]#vi/etc/ansible/hosts[test-servers]192.168.1.9192.168.1.10
保存并退出文件。主机文件示例如下:
ansible-host 第五步:尝试在Ansible服务端运行命令
使用ping检查‘test-servers’或者ansible节点的连通性。
[root@ansible ~]# ansible -m ping"test-servers"
ansible-ping 执行shell命令
例子1:检查Ansible节点的运行时间(uptime)[root@ansible ~]# ansible -m command -a "uptime""test-servers"
ansible-uptime例子2:检查节点的内核版本[root@ansible ~]# ansible -m command -a "uname -r""test-servers"
kernel-version-ansible例子3:给节点增加用户[root@ansible ~]# ansible -m command -a "useradd mark""test-servers"[root@ansible ~]# ansible -m command -a "grep mark /etc/passwd""test-servers"
useradd-ansible例子4:重定向输出到文件中[root@ansible ~]# ansible -m command -a "df -Th""test-servers">/tmp/command-output.txt
redirecting-output-ansible使用Ansible批量管理远程服务器 http://www.linuxidc.com/Linux/2015-05/118080.htmAnsible和Docker的作用和用法 http://www.linuxidc.com/Linux/2014-11/109783.htmAnsible批量搭建LAMP环境 http://www.linuxidc.com/Linux/2014-10/108264.htmAnsible :一个配置管理和IT自动化工具 http://www.linuxidc.com/Linux/2014-11/109365.htm
Ansible 的详细介绍:请点这里
Ansible 的下载地址:请点这里更多CentOS相关信息见CentOS 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=14
via: http://www.linuxtechi.com/install-and-use-ansible-in-centos-7/作者:Pradeep Kumar 译者:geekpi 校对:wxy本文由 LCTT 原创编译,Linux中国 荣誉推出
本文永久更新链接地址