使用Virtualenv隔离安装Ansible

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

一.安装virtualenvgit

1.保证系统默认YUM源github

2.安装easy_installjson

# whoamibash

root

# yum install python-setuptools python-setuptools-develide

3.安装pipspa

# easy_install pipcode

4.安装virtualenvip

# 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

相关文章
相关标签/搜索