本节书摘来自华章出版社《Ansible权威指南》一书中的第一章,第1.7节,作者 李松涛 魏 巍 甘 捷 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1.7 Ansible的安装部署
了解完Ansible是什么、通信原理及发展史、Ansible发展历程及其应用场景后,接下来为大家介绍Ansible的安装部署。
Ansible的安装部署非常简单,其仅依赖于Python和SSH,而系统默认均已安装。除Windows外,RedHat、Debian、CentOS、OSX均可作为管理节点部署Ansible。Ansible被RedHat红帽官方收购后,其安装源被收录在EPEL中,如已安装EPEL可直接YUM或APT安装,通过pip和easy_install的Python第三方包管理器也可以便捷安装Ansible,下面我们详细介绍部署方式。
1.7.1 PIP方式
Ansible底层也是基于Python编写,所以可以通过PIP方式安装Ansible。
步骤1:安装python-pip及python-devel程序包。
安装python-pip程序包及python-devel,
yum install python-pip python-devel –y
返回类似如下结果则表示安装成功:
Installing python-devel-2.7.5-34.el7.x86_6412
Installing python-pip-7.1.0-1.el7.noarch22
Verifying python-pip-7.1.0-1.el7.noarch12
Verifying python-devel-2.7.5-34.el7.x86_6422
Installed
python-devel.x86_64 02.7.5-34.el7 python-pip.noarch 07.1.0-1.el7
Complete!
步骤2:安装Ansible服务。
安装请前确保服务器的gcc、glibc开发环境均已安装,系统几乎所有的软件包编译环境均基于gcc,如不确认可先执行如下命令:
yum install gcc glibc-devel zlib-devel rpm-build openssl-devel –y
升级本地PIP至最新版本
pip install --upgrade pip
安装Ansible服务
pip install ansible –upgrade
执行命令ansible --version,有类似如下返回结果则表示Ansible安装成功并可正常使用。
ansible 2.1.1.0
config file = etcansibleansible.cfg
configured module search path = Default wo overrides
如下其他验证安装是否成功的方式也一样,均可执行ansible––version验证,后面不一一列出。
1.7.2 YUM方式
YUM(Yellow dog Updater,Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无需烦琐地一次次下载、安装。YUM安装Ansible过程如下:
需事先安装EPEl源后方可找到并安装Ansible
rpm -Uvh https dl.fedoraproject.orgpubepelepel-release-latest-6.noarch.rpm
安装Ansible
yum install ansible –y
安装速度视网络情况而定,因为安装过程会安装非常多的依赖包,又因各系统环境的差异性,如返回类似如下结果则表示安装成功:
Installed
ansible.noarch 02.1.1.0-1.el7
Dependency Installed
PyYAML.x86_64 03.10-11.el7 libtomcrypt.x86_64 01.17-23.el7
libtommath.x86_64 00.42.0-4.el7 python-babel.noarch 00.9.6-8.el7
python-httplib2.noarch 00.7.7-3.el7 python-jinja2.noarch 02.7.2-2.el7
python-keyczar.noarch 00.71c-2.el7 python-markupsafe.x86_64 00.11-10.el7
python-pyasn1.noarch 00.1.6-2.el7 python2-crypto.x86_64 02.6.1-9.el7
python2-ecdsa.noarch 00.13-4.el7 python2-paramiko.noarch 01.16.1-1.el7
sshpass.x86_64 01.05-5.el7
Complete!
1.7.3 Apt-get方式
Apt-get全称是Advanced Package Tool,是一款适用于UNIX和Linux系统的应用程序管理器,适用于Ubuntu、Debian等deb包管理式的操作系统,主要用于自动地从互联网的软件仓库中搜索、安装、升级、卸载软件或操作系统。
添加Ansible源
apt-add-repository -y ppaansibleansible
升级库文件
apt-get update
安装Ansible
apt-get install -y ansible
1.7.4 源码安装方式
源码安装本身就是一道很高的门槛,作为刚接触Linux的新手不建议使用该方式。
在什么情况下我们需要从源代码安装软件呢?其实源码安装是相对于二进制安装而言的,所谓的二进制安装即前言讲到的,PIP、YUM、Apt-get都是二进制的安装方式,一般当新软件推出了新的版本,而所用的发行版并没有及时跟进,这时候,想要“尝鲜”的话,就非得靠自己而不可使用源码编译安装;另一种情形是,不管是软件的开发者还是现用的系统都没有提供可直接使用的二进制包,而自己又非要使用该软件,那么也需源码安装才行。当然,还有其他的情形。总而言之,学会源码安装软件方式是一项非常重要的技能,但又因其编译环境准备起来复杂不堪,同时安装过程又需人工逐一解决安装过程中可能遇到的各项应用层依赖和系统库依赖,所以门槛较高,故不建议初学者使用该方式。
不建议安装Beta版
安装Git客户端
yum install git –y
整个安装过程无报错,有类似如下返回结果则表示安装成功。
Installed
git.x86_64 01.8.3.1-5.el7
Dependency Installed
libgnome-keyring.x86_64 03.8.0-3.el7 perl-Error.noarch 10.17020-2.el7
perl-Git.noarch 01.8.3.1-5.el7 perl-TermReadKey.x86_64 02.30-20.el7
Complete!
安装Ansible软件包。
使用Git将拉取指定的Ansible版本至本地当前目录
git clone git github.comansibleansible.git –recursive
切换至程序包目录
cd .ansible
执行env-setup脚本,安装Ansible软件包
source .hackingenv-setup
1.7.5 验证安装结果
如上列举了互联网主流系统的Ansible安装方式,如整个过程均无报错,则执行如下命令应有类似结果返回:
ansible --version
ansible 1.9.6
如上述命令能正常执行,表示Ansible安装成功,并可正常使用。通常情况下,Ansible的安装简单顺利,但确实会有安装报错的情况发生,多数情况是由本地复杂的系统环境导致的。下面我们为大家介绍Python多环境管理,来解决该类问题。