本節書摘來自華章出版社《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
python-pip-7.1.0-1.el7.noarch22
verifying
python-pip-7.1.0-1.el7.noarch12
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
ansible –y
安裝速度視網絡情況而定,因為安裝過程會安裝非常多的依賴包,又因各系統環境的差異性,如傳回類似如下結果則表示安裝成功:
ansible.noarch 02.1.1.0-1.el7
dependency
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
1.7.3 apt-get方式
apt-get全稱是advanced package tool,是一款适用于unix和linux系統的應用程式管理器,适用于ubuntu、debian等deb包管理式的作業系統,主要用于自動地從網際網路的軟體倉庫中搜尋、安裝、更新、解除安裝軟體或作業系統。
添加ansible源
apt-add-repository
-y ppaansibleansible
更新庫檔案
apt-get update
apt-get install
-y ansible
1.7.4 源碼安裝方式
源碼安裝本身就是一道很高的門檻,作為剛接觸linux的新手不建議使用該方式。
在什麼情況下我們需要從源代碼安裝軟體呢?其實源碼安裝是相對于二進制安裝而言的,所謂的二進制安裝即前言講到的,pip、yum、apt-get都是二進制的安裝方式,一般當新軟體推出了新的版本,而所用的發行版并沒有及時跟進,這時候,想要“嘗鮮”的話,就非得靠自己而不可使用源碼編譯安裝;另一種情形是,不管是軟體的開發者還是現用的系統都沒有提供可直接使用的二進制包,而自己又非要使用該軟體,那麼也需源碼安裝才行。當然,還有其他的情形。總而言之,學會源碼安裝軟體方式是一項非常重要的技能,但又因其編譯環境準備起來複雜不堪,同時安裝過程又需人工逐一解決安裝過程中可能遇到的各項應用層依賴和系統庫依賴,是以門檻較高,故不建議初學者使用該方式。
不建議安裝beta版
安裝git用戶端
yum install git
–y
整個安裝過程無報錯,有類似如下傳回結果則表示安裝成功。
git.x86_64 01.8.3.1-5.el7
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
安裝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多環境管理,來解決該類問題。