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 ...
随机推荐
- 常用的HTML标记
一.格式标记 1.<br> <br>是一个单标记,用来强制换行. 2.<p> <p>是双标记.用来换分段落. 3.<center> < ...
- Xrdp - 通过Windows的RDP连接Linux远程桌面(Ubuntu/CentOS/Redhat 7)
Xrdp - 通过Windows的RDP连接Linux远程桌面(Ubuntu/CentOS/Redhat 7) 您多久访问一次Linux桌面? 您使用什么工具来访问远程桌面? Xrdp是一个开源工具, ...
- 关于jmeter线程组和循环次数的设置
初始设置:设置线程数 n = 80,循环次数a = 1,ramp-up period=5 一 计算最后一个线程的生成时间(last) 总共生成80个线程,总共需要5秒,每秒钟会启动16个线程,所以,第 ...
- gcc 版本
$ gcc --versiongcc (Ubuntu 5.4.0-6kord1~16.04.4k2) 5.4.0 20160609Copyright (C) 2015 Free Software Fo ...
- C++知识点案例 笔记-2
1.友元函数 2.友元类 3.继承(公有继承) 4.公有继承的访问权限 5.私有继承的访问权限 6.保护继承的访问权限(两次继承) ==友元函数== #include <iostream> ...
- struct位域
1 总结下 结构体位域的使用 比如 则 struct _COM2 { u8 Len : 1;//低位 u8 EoN : 2; u8 Stop:1; u8 Bps:4;//高位 } union COM ...
- 90%的人都不知道的Node.js 依赖关系管理(上)
转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 原文参考:https://dzone.com/articles/nodejs-dependency-mana ...
- Pod无法删除 强制删除pod
多次变更服务后,发现部分pod delete僵死无法删除,一直处于Terminating状态 kubectl delete pod $pod-name一直卡住或不生效 已经删除管理资源的情况下发现仍然 ...
- iapp后台一本通php源码+iapp源码
给大家分享一个后台源码,内有后台php源码,还有iapp对接源码,一本通 iapp+ PHP源码 经过一个小时的研究看看,测试了一下, 1.注册登录以修复正常,签到正常 2.所有工具正常 3.接口,i ...
- 第5讲 | 从物理层到MAC层:如何在宿舍里自己组网玩联机游戏?
第一层(物理层) 水晶头要做交叉线,用的就是所谓的 1-3.2-6 交叉接法. 有一个叫做 Hub 的东西,也就是集线器.这种设备有多个口,可以将宿舍里的多台电脑连接起来.但是,和交换机不同,集线器没 ...