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





原文地址:https://www.cnblogs.com/LiuChang-blog/p/12397292.html