16、編譯安裝ansible


16.1、python版本說明:

Ansible是一種批量部署工具,現在運維人員用的最多的三種開源集中化管理工具有:puppet,saltstack,ansible,各有各的優缺點,

其中saltstack和ansible都是用python開發的。ansible其實准確的說只提供了一個框架,它要基於很多其他的python模塊才能工

作的,所以在安裝ansible的時候你要再裝很多其他的依賴包的。ansible的好處之一是使用者可以開發自己的模塊,放在里面使用;

第二個好處是無需在客戶端安裝agent,更新時,只需在操作機上進行一次更新即可;第三個好處是批量任務執行可以寫成腳本,

而且不用分發到遠程就可以執行。強烈建議升級python版本到2.6以上,不然運行會出錯或者有些功能會沒有,在編譯安裝其他包的

時候也會因為兼容問題報錯。


16.2、centos7下python版本是2.7.5,符合ansible的安裝需求,直接進行編譯安裝即可。centos6下的python版本為Python 2.6.6,

需要升級python版本到2.7,升級步驟如下:

1、提前安裝依賴包:

yum install zlib zlib-devel openssl openssl-devel gcc -y


2、編譯安裝:

wget https://www.python.org/ftp/python/2.7.12/Python-2.7.12.tgz

tar zxf Python-2.7.12.tgz

cd Python-2.7.12

./configure --prefix=/usr/local/python2.7.12

make

make install


3、修改環境變量:

echo "export PATH=$PATH:/usr/local/python2.7.12/bin" >>/etc/profile

source /etc/profile


4、修改python默認版本:

mv /usr/bin/python /usr/bin/python.old

ln -s /usr/local/python2.7.12/bin/python2.7 /usr/bin/python


5、為防止yum執行異常,修改yum使用的python版本:

vim /usr/bin/yum

#將文件頭#!/usr/bin/python修改為#!/usr/bin/python2.6


16.3、編譯安裝ansible:

1、安裝setuptools:

wget https://files.pythonhosted.org/packages/37/1b/b25507861991beeade31473868463dad0e58b1978c209de27384ae541b0b/setuptools-40.6.3.zip

unzip setuptools-40.6.3.zip 1>/dev/null

cd setuptools-40.6.3

python setup.py install


2、安裝pip:

(1)方法一:

easy_install-2.7 pip

(2)方法二(推薦):

wget https://files.pythonhosted.org/packages/45/ae/8a0ad77defb7cc903f09e551d88b443304a9bd6e6f124e75c0fbbf6de8f7/pip-18.1.tar.gz

tar xzf pip-18.1.tar.gz

cd pip-18.1

python setup.py install


3、通過pip安裝常用模塊:

pip2.7 install paramiko PyYAML Jinja2 httplib2 six pycrypto markupsafe ecdsa simplejson


模塊功能介紹:

paramiko:用python語言寫的一個模塊,遵循SSH2協議,支持以加密和認證的方式,進行遠程服務器的連接。

PyYAML:一個Python的YAML解析器。

Jinja2:基於python的模板引擎。

httplib2:一個使用python寫的支持的非常全面的http特性的庫。

six:提供了一些簡單的工具用來封裝 Python 2 和 Python 3 之間的差異性。

pycrypto:是一個免費的加密算法庫,支持常見的DES、AES加密以及MD5、SHA各種HASH運算。

markupsafe:為Python實現 XML/HTML/XHTML 標記安全字符串。

ecdsa:橢圓曲線數字簽名算法( ECDSA)是非對稱加密技術的一種。

simplejson:方便完成json的生成和解析。


4、安裝ansible:

wget https://releases.ansible.com/ansible/ansible-2.9.5.tar.gz

tar xzf ansible-2.9.5.tar.gz

cd ansible-2.9.5

python setup.py install


5、查看ansible的版本:

ansible --version


6、創建Ansible配置文件,並開啟Ansible日志(Ansible默認不啟用日志):

mkdir /etc/ansible

cp -a /tools/ansible-2.9.5/examples/ansible.cfg /etc/ansible/

sed -i.bak 's/#log_path/log_path/' /etc/ansible/ansible.cfg






免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM