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
16、编译安装ansible的更多相关文章
- centos7源码编译安装Ansible详细部署
一.基础介绍==========================================================================================ansi ...
- centos6.5-7编译安装Ansible详细部署
一.基础介绍==========================================================================================ansi ...
- suse 12 sp3 利用shell脚本离线编译安装ansible
# 测试环境是suse 12 sp3的系统,机器都是内网使用的,安装ansible真的很难顶 # 测试环境使用的python版本:2.7.13-27 # 此脚本只在本人测试环境成功,其他环境,需要选择 ...
- Linux CentOS6.5下编译安装MySQL 5.6.16【给力详细教程】
一.编译安装MySQL前的准备工作 安装编译源码所需的工具和库 yum install gcc gcc-c++ ncurses-devel perl 安装cmake,从http://www.cmake ...
- CentOS 6.4下编译安装MySQL 5.6.16
一.卸载旧版本号MySql 1.rpm卸载: 1> 检查安装包: rpm -qa | grep mysql 2> 普通删除: rpm -e mysql-5.6.16.rpm 3> 强 ...
- centos7下编译安装nginx-1.16.0
一.下载nginx源码 http://nginx.org/en/download.html 如:nginx-1.16.0.tar.gz 二.创建用户和组,并解压 groupadd www userad ...
- ansible配合shell脚本批量编译安装python3.6.6
[root@node1:/etc]# tree /etc/ansible/ /etc/ansible/ ├── ansible.cfg ├── hosts ├── python.yml └── rol ...
- 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 ...
- CentOS 7.4编译安装Nginx1.10.3+MySQL5.7.16
准备篇 一.防火墙配置 CentOS 7.x默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop firewalld.se ...
随机推荐
- lua编译为二进制方式
当不想使用户看到lua源码,文本文件可以通过luac,把lua文本文件"编译"成二进制的文件. lc@lc-virtual-machine:~/lua$ luac -o redis ...
- [Java] 开课吧--JVM
双亲委派 向上委托,向下加载 收到加载任务后,先交给父类加载器,只有当父类加载器无法完成,才会执行加载 保证只有一个类加载器加载,避免重复加载 破坏:JDK 1.2后才使用,JDK 1.1的核心类没 ...
- element-ui 的el-select如何不显示value,显示value对应的label值
有时根据需要,我们根据v-model的值绑定option, 想要的效果: 实际的效果: 原因: value的格式存在问题,数据库读取到的数据不一定为number类型,需要手动转换. 第一种 <t ...
- Python数模笔记-PuLP库(1)线性规划入门
1.什么是线性规划 线性规划(Linear programming),在线性等式或不等式约束条件下求解线性目标函数的极值问题,常用于解决资源分配.生产调度和混合问题.例如: max fx = 2*x1 ...
- CSS的起步
初学CSS CSS语法规范 选择器{样式} 给谁改样式{改什么样式} 写在style标签里 健值对形式,分号结尾 color:red; <style> p { color:red; fon ...
- 浅谈:Redis持久化机制(一)RDB篇
浅谈:Redis持久化机制(一)RDB篇 众所周知,redis是一款性能极高,基于内存的键值对NoSql数据库,官方显示,它的读效率可达到11万次每秒,写效率能达到8万次每秒,因为它基于内存以及存 ...
- Redis 内存大小限制+键值淘汰策略配置
限制最大内存 windows 的 maxmemory-policy 策略可能会少一些 # 指定 Redis 最大内存限制,Redis 在启动时会把数据加载到内存中,达到最大内存后,Redis 会先尝试 ...
- Eclipse修改方法内容不用重启Jetty服务器
我Eclipse以前DEBUG模式时,修改方法里的内容是不用重启的, 现在修改方法里是一行代码都要重启服务器了,很麻烦,速度慢了,找了百度,那些方法对我不合适,可能遇到的问题不一样. 也许会合适遇到和 ...
- 人脸标记检测:ICCV2019论文解析
人脸标记检测:ICCV2019论文解析 Learning Robust Facial Landmark Detection via Hierarchical Structured Ensemble 论 ...
- Consistent 与 Mirrored 视角
Consistent 与 Mirrored 视角 在进行分布式训练时,OneFlow 框架提供了两种角度看待数据与模型的关系,被称作 consistent 视角与 mirrored 视角. 本文将介绍 ...