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

16、编译安装ansible的更多相关文章

  1. centos7源码编译安装Ansible详细部署

    一.基础介绍==========================================================================================ansi ...

  2. centos6.5-7编译安装Ansible详细部署

    一.基础介绍==========================================================================================ansi ...

  3. suse 12 sp3 利用shell脚本离线编译安装ansible

    # 测试环境是suse 12 sp3的系统,机器都是内网使用的,安装ansible真的很难顶 # 测试环境使用的python版本:2.7.13-27 # 此脚本只在本人测试环境成功,其他环境,需要选择 ...

  4. Linux CentOS6.5下编译安装MySQL 5.6.16【给力详细教程】

    一.编译安装MySQL前的准备工作 安装编译源码所需的工具和库 yum install gcc gcc-c++ ncurses-devel perl 安装cmake,从http://www.cmake ...

  5. CentOS 6.4下编译安装MySQL 5.6.16

    一.卸载旧版本号MySql 1.rpm卸载: 1> 检查安装包: rpm -qa | grep mysql 2> 普通删除: rpm -e mysql-5.6.16.rpm 3> 强 ...

  6. centos7下编译安装nginx-1.16.0

    一.下载nginx源码 http://nginx.org/en/download.html 如:nginx-1.16.0.tar.gz 二.创建用户和组,并解压 groupadd www userad ...

  7. ansible配合shell脚本批量编译安装python3.6.6

    [root@node1:/etc]# tree /etc/ansible/ /etc/ansible/ ├── ansible.cfg ├── hosts ├── python.yml └── rol ...

  8. CentOS 7.x编译安装Nginx1.10.3+MySQL5.7.16+PHP5.2 5.3 5.4 5.5 5.6 7.0 7.1多版本全能环境

    准备篇 一.防火墙配置 CentOS 7.x默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop firewalld.se ...

  9. CentOS 7.4编译安装Nginx1.10.3+MySQL5.7.16

    准备篇 一.防火墙配置 CentOS 7.x默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop firewalld.se ...

随机推荐

  1. lua编译为二进制方式

    当不想使用户看到lua源码,文本文件可以通过luac,把lua文本文件"编译"成二进制的文件. lc@lc-virtual-machine:~/lua$ luac -o redis ...

  2. [Java] 开课吧--JVM

    双亲委派 向上委托,向下加载 收到加载任务后,先交给父类加载器,只有当父类加载器无法完成,才会执行加载 保证只有一个类加载器加载,避免重复加载 破坏:JDK 1.2后才使用,JDK  1.1的核心类没 ...

  3. element-ui 的el-select如何不显示value,显示value对应的label值

    有时根据需要,我们根据v-model的值绑定option, 想要的效果: 实际的效果: 原因: value的格式存在问题,数据库读取到的数据不一定为number类型,需要手动转换. 第一种 <t ...

  4. Python数模笔记-PuLP库(1)线性规划入门

    1.什么是线性规划 线性规划(Linear programming),在线性等式或不等式约束条件下求解线性目标函数的极值问题,常用于解决资源分配.生产调度和混合问题.例如: max fx = 2*x1 ...

  5. CSS的起步

    初学CSS CSS语法规范 选择器{样式} 给谁改样式{改什么样式} 写在style标签里 健值对形式,分号结尾 color:red; <style> p { color:red; fon ...

  6. 浅谈:Redis持久化机制(一)RDB篇

    浅谈:Redis持久化机制(一)RDB篇 ​ 众所周知,redis是一款性能极高,基于内存的键值对NoSql数据库,官方显示,它的读效率可达到11万次每秒,写效率能达到8万次每秒,因为它基于内存以及存 ...

  7. Redis 内存大小限制+键值淘汰策略配置

    限制最大内存 windows 的 maxmemory-policy 策略可能会少一些 # 指定 Redis 最大内存限制,Redis 在启动时会把数据加载到内存中,达到最大内存后,Redis 会先尝试 ...

  8. Eclipse修改方法内容不用重启Jetty服务器

    我Eclipse以前DEBUG模式时,修改方法里的内容是不用重启的, 现在修改方法里是一行代码都要重启服务器了,很麻烦,速度慢了,找了百度,那些方法对我不合适,可能遇到的问题不一样. 也许会合适遇到和 ...

  9. 人脸标记检测:ICCV2019论文解析

    人脸标记检测:ICCV2019论文解析 Learning Robust Facial Landmark Detection via Hierarchical Structured Ensemble 论 ...

  10. Consistent 与 Mirrored 视角

    Consistent 与 Mirrored 视角 在进行分布式训练时,OneFlow 框架提供了两种角度看待数据与模型的关系,被称作 consistent 视角与 mirrored 视角. 本文将介绍 ...