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. 马哥Linux SysAdmin学习笔记(一)

    Linux入门 Linux系统管理: 磁盘管理,文件系统管理 RAID基础原理,LVM2 网络管理:TCP/IP协议,Linux网络属性配置 程序包管理:rpm,yum 进程管理:htop,glanc ...

  2. jmeter完成一个简单的性能测试(jp@gc - PerfMon Metrics Collector的运用)

    场景:公司项目解耦,在项目前期对新的架构进行简单的性能测试 工具:jmeter 1.大致结构如下: 1800秒(半个小时)内持续产生20000的线程 创建了聚合报告,主要是查看服务器响应结果以及相应时 ...

  3. JavaWeb Session 状态管理

    引言 HTTP 协议是一个无状态的协议,简单理解就是两次请求/响应无法记录或保存状态信息.但是动态 Web 项目开发是需要保存请求状态的,比如用户的登录状态,但 HTTP 协议层不支持状态保存,所以需 ...

  4. idea 使用Springboot 编译报错

    报错信息如下 Argument for @NotNull parameter 'url' of org/jetbrains/jps/model/impl/JpsUrlListImpl.addUrl m ...

  5. GO语言面向对象01---封装属性与创建对象的方法与工厂模式

    package main import "fmt" /* 面向过程编程:调度大量的变量.函数 ---------- 面向对象编程(OOP=Object Oriented Progr ...

  6. C# 尝试还原程序包是出错:找不到“XXXXX”版本的程序包“XXXXXX”

    在C#管理程序包的时候有时会出现找不到某某版本的程序包 如果出现这样的情况,解决办法是在你当前项目获取当前类库下的packages.config里去删除一段配置就可以解决! 我的缺少的是版本为9.0. ...

  7. C# & JS 判断字符串是否为日期格式

    在C#中,对格式的判断有一类专门函数,那就是TryParse.TryParse在各个不同的类型类(如int,string,DateTime)中,都是存在的.在TryParse中一般有两个参数,一个是待 ...

  8. 单点突破:MySQL之索引

    前言 开发环境:MySQL5.7.31 什么是索引 在MySQL中,索引(Index)是帮助高效获取数据的数据结构. 我们可以将数据库理解为一本书,数据库中的各个数据列(column)就是目录中的章节 ...

  9. 工作流引擎Activiti使用进阶!详细解析工作流框架中高级功能的使用示例

    Activiti高级功能简介 Activit的高级用例,会超越BPMN 2.0流程的范畴,使用Activiti高级功能需要有Activiti开发的明确目标和足够的Activiti开发经验 监听流程解析 ...

  10. 深入解读Redis分布式锁

    之前码甲哥写了两篇有关线程安全的文章: 你管这叫线程安全? .NET八股文:线程同步技术解读 分布式锁是"线程同步"的延续 最近首度应用"分布式锁",现在想想, ...