文档章节

使用Virtualenv隔离安装Ansible

408582708
 408582708
发布于 2016/11/02 22:46
字数 515
阅读 76
收藏 0

因为ansible本身由python编写而成, 所以我们可以使用python下的virtualenv模块对我们所需的ansible发行版进行隔离安装, 这样既能保证我们原有的job还可以正常在stable version下safe running, 而且又不影响我们new job在新版本下适配新的模块.

一.安装virtualenv

1.保证系统默认YUM源

2.安装easy_install

# whoami

root

# yum install python-setuptools python-setuptools-devel

3.安装pip

# easy_install pip

4.安装virtualenv

# pip install virtualenv

二.配置系统非root用户使用新版本ansible.

Tip: 我们正常部署过程中建议使用一个普通用户来跑我们日常的ansible job

1.创建用户
# useradd deploy

2.切换到该用户进行初始配置.
# su - deploy

##创建virtualenv 隔离环境,环境名 : .virtualenv (可以自定义名称)
$ virtualenv .virtualenv

$ cd .virtualenv

$ ls

bin  include  lib  lib64  pip-selfcheck.json

3.使用git下载ansible最新发行版.

$ git clone git://github.com/ansible/ansible.git

4.进入virtualenv环境

$ source /home/deploy/.virtualenv/bin/activate

(.virtualenv) [deploy@www .virtualenv]$

5.安装必要的ansible依赖包

(.virtualenv) [deploy@www .virtualenv]$  pip install paramiko PyYAML jinja2

(.virtualenv) [deploy@www .virtualenv]$  cd ansible

(.virtualenv) [deploy@www ansible]$ git submodule update --init lib/ansible/modules/core

(.virtualenv) [deploy@www ansible]$ git submodule update --init lib/ansible/modules/extras

6. 加载ansible2.3

Tip: env-setup 是 ansible 为 hacker 准备的一个脚本,用来设置一些ansible所需的环境变量,且必须按如下完整路径执行

(.virtualenv) [deploy@www ansible]$ . /home/deploy/.virtualenv/ansible/hacking/env-setup -q

(.virtualenv) [deploy@www ansible]$ ansible --version
ansible 2.3.0 (devel 333f6d447b) last updated 2016/11/02 18:04:28 (GMT +800)
  lib/ansible/modules/core: (detached HEAD d2106f1c92) last updated 2016/11/02 19:32:48 (GMT +800)
  lib/ansible/modules/extras: (detached HEAD 9a01d01f78) last updated 2016/11/02 19:33:45 (GMT +800)
  config file =configured module search path = Default w/o overrides

7. 退出virtualenv

(.virtualenv) [deploy@www ansible]$ deactive 

配置完毕

以后若想使用新版本ansible则直接执行下面两行命令即可.

# source /home/deploy/.virtualenv/bin/activate

# . /home/deploy/.virtualenv/ansible/hacking/env-setup -q

本文转载自:http://www.showerlee.com/archives/1862

共有 人打赏支持
408582708
粉丝 0
博文 108
码字总数 70171
作品 0
朝阳
程序员
私信 提问
VirtualEnv 13.0.1 发布,pip 升级至 7.0.1 版本

VirtualEnv 13.0.1 发布,此版本 pip 更新至 7.0.1 版本, 就在昨天,VirtualEnv 13.0.0 发布,更新内容如下: pip 升级至 pip 7.0 版本 setuptools 升级至 setuptools 16.0 创建新的 viruta...

oschina
2015/05/24
1K
0
Python-Virtualenv

注释 在使用前ubuntu默认的解释器是python2.7,而且里面已经安装好了和 使用 由于一些兼容性问题,电脑上默认的python版本只能只能使用python2.7,所以创建命令要另外使用指定解释器 激活虚拟...

ormsf
08/27
0
0
VirtualEnv 12.1.1 发布,pip 升级至 6.1.1 版本

VirtualEnv 12.1.1 发布,此版本 pip 升级至 pip 6.1.1 版本,同一天还发布了 VirtualEnv 12.1.0 版本,pip 升级至 pip 6.1.0,setuptools 升级至 setuptools 15.0。 下载: https://github...

oschina
2015/04/08
1K
11
python Flask 安装

第1步:确保本机已经安装有python,下载easyinstall到本地某一目录,双击ezsetup.py,python将自动下载到python安装目录/Scripts 下面,然后在系统环境变量的PATH中添加easyinstall所在的目录...

quanpower
2013/03/13
0
1
VirtualEnv 13.0.3 发布,pip 升级至 7.0.3

VirtualEnv 13.0.3 发布,pip 升级至 7.0.3,此版本现已提供下载:https://github.com/pypa/virtualenv/archive/13.0.3.zip。 同一天还发布了 VirtualEnv 13.0.2,改进内容如下: Upgrade pi...

oschina
2015/06/03
739
0

没有更多内容

加载失败,请刷新页面

加载更多

java框架学习日志-7(静态代理和JDK代理)

静态代理 我们平时去餐厅吃饭,不是直接告诉厨师做什么菜的,而是先告诉服务员点什么菜,然后由服务员传到给厨师,相当于服务员是厨师的代理,我们通过代理让厨师炒菜,这就是代理模式。代理...

白话
今天
14
0
Flink Window

1.Flink窗口 Window Assigner分配器。 窗口可以是时间驱动的(Time Window,例如:每30秒钟),也可以是数据驱动的(Count Window,例如:每一百个元素)。 一种经典的窗口分类可以分成: 翻...

满小茂
今天
7
0
my.ini

1

architect刘源源
今天
9
0
docker dns

There is a opensource application that solves this issue, it's called DNS Proxy Server It's a DNS server that solves containers hostnames, if could not found a hostname that mat......

kut
今天
10
0
寻找数学的广度——《这才是数学》读书笔记2700字

寻找数学的广度——《这才是数学》读书笔记2700字: 文|程哲。数学学习方式之广:国内外数学教育方面的专家,进行了很多种不同的数学学习方式尝试,如数学绘本、数学游戏、数学实验、数学步道...

原创小博客
今天
18
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部