了解完Ansible是什么、通信原理及发展史、Ansible发展历程及其应用场景后,接下来为大家介绍Ansible的安装部署。
Ansible的安装部署非常简单,其仅依赖于Python和SSH,而系统默认均已安装。除Windows外,RedHat、Debian、CentOS、OSX 均可作为管理节点部署Ansible。Ansible被RedHat红帽 官方收购后,其安装源被收录在EPEL中,如已安装EPEL可直接YUM或APT安装,通过pip和easy_install的Python第三方包管理器也可以便捷安装Ansible,下面我们详细介绍部署方式。
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_64 1/2 Installing : python-pip-7.1.0-1.el7.noarch 2/2 Verifying : python-pip-7.1.0-1.el7.noarch 1/2 Verifying : python-devel-2.7.5-34.el7.x86_64 2/2 Installed: python-devel.x86_64 0:2.7.5-34.el7 python-pip.noarch 0:7.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 = /etc/ansible/ansible.cfg configured module search path = Default w/o overrides
如下其他验证安装是否成功的方式也一样,均可执行ansible––version验证,后面不一一列出。
YUM(Yellow dog Updater,Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无需烦琐地一次次下载、安装。YUM安装Ansible过程如下:
// 需事先安装EPEl源后方可找到并安装Ansible rpm -Uvh https:// dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm // 安装Ansible yum install ansible –y
(注:EPEL:EPEL(Extra Packages for Enterprise Linux,企业版Linux的额外软件包)是Fedora小组维护的一个软件仓库项目,为RHEL/CentOS提供它们默认不提供的软件包。)
安装速度视网络情况而定,因为安装过程会安装非常多的依赖包,又因各系统环境的差异性,如返回类似如下结果则表示安装成功:
Installed: ansible.noarch 0:2.1.1.0-1.el7 Dependency Installed: PyYAML.x86_64 0:3.10-11.el7 libtomcrypt.x86_64 0:1.17-23.el7 libtommath.x86_64 0:0.42.0-4.el7 python-babel.noarch 0:0.9.6-8.el7 python-httplib2.noarch 0:0.7.7-3.el7 python-jinja2.noarch 0:2.7.2-2.el7 python-keyczar.noarch 0:0.71c-2.el7 python-markupsafe.x86_64 0:0.11-10.el7 python-pyasn1.noarch 0:0.1.6-2.el7 python2-crypto.x86_64 0:2.6.1-9.el7 python2-ecdsa.noarch 0:0.13-4.el7 python2-paramiko.noarch 0:1.16.1-1.el7 sshpass.x86_64 0:1.05-5.el7 Complete!
Apt-get全称是Advanced Package Tool,是一款适用于UNIX和Linux系统的应用程序管理器,适用于Ubuntu、Debian等deb包管理式的操作系统,主要用于自动地从互联网的软件仓库中搜索、安装、升级、卸载软件或操作系统。
// 添加Ansible源 apt-add-repository -y ppa:ansible/ansible // 升级库文件 apt-get update // 安装Ansible apt-get install -y ansible
源码安装本身就是一道很高的门槛,作为刚接触Linux的新手不建议使用该方式。
在什么情况下我们需要从源代码安装软件呢?其实源码安装是相对于二进制安装而言的,所谓的二进制安装即前言讲到的,PIP、YUM、Apt-get都是二进制的安装方式,一般当新软件推出了新的版本,而所用的发行版并没有及时跟进,这时候,想要“尝鲜”的话,就非得靠自己而不可使用源码编译安装;另一种情形是,不管是软件的开发者还是现用的系统都没有提供可直接使用的二进制包,而自己又非要使用该软件,那么也需源码安装才行。当然,还有其他的情形。总而言之,学会源码安装软件方式是一项非常重要的技能,但又因其编译环境准备起来复杂不堪,同时安装过程又需人工逐一解决安装过程中可能遇到的各项应用层依赖和系统库依赖,所以门槛较高,故不建议初学者使用该方式。
// 不建议安装Beta版 // 安装Git客户端 yum install git –y
(注:Git:Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git可以有效、高速地处理从很小到非常大的项目版本管理。Git是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。)
整个安装过程无报错,有类似如下返回结果则表示安装成功。
Installed: git.x86_64 0:1.8.3.1-5.el7 Dependency Installed: libgnome-keyring.x86_64 0:3.8.0-3.el7 perl-Error.noarch 1:0.17020-2.el7 perl-Git.noarch 0:1.8.3.1-5.el7 perl-TermReadKey.x86_64 0:2.30-20.el7 Complete!
安装Ansible软件包。
// 使用Git将拉取指定的Ansible版本至本地当前目录 git clone git:// github.com/ansible/ansible.git –recursive // 切换至程序包目录 cd ./ansible // 执行env-setup脚本,安装Ansible软件包 source ./hacking/env-setup
如上列举了互联网主流系统的Ansible安装方式,如整个过程均无报错,则执行如下命令应有类似结果返回:
ansible --version ansible 1.9.6
如上述命令能正常执行,表示Ansible安装成功,并可正常使用。通常情况下,Ansible的安装简单顺利,但确实会有安装报错的情况发生,多数情况是由本地复杂的系统环境导致的。下面我们为大家介绍Python多环境管理,来解决该类问题。