安装ansible简介,ansible简介


这里笔者在阅读的时候使用了源码和yum的安装方式,会做过多的阐述。其他的安装方式会提及到但是不做过多详解。笔者使用的实验系统是CentOS7。

使用源码安装

1.安装git工具

#yum install git

2.提取Ansible代码

#git clone git://github.com/ansible/ansible.git --recursive
#cd ansible/
#source ./hacking/env-setup

3.安装setuptool(安装这个工具能够直接安装pip,从而使用pip安装。)

#wget --no-check-certificate https://bootstrap.pypa.io/ez_setup.py
#python ez_setup.py
#unzip setuptools-28.8.0.zip
#cd setuptools-28.8.0/
#python2.7 setup.py install

4.安装pip

#easy_install pip

5.安装ansible控制主机需要的模块

pip install paramiko PyYAML Jinja2 httplib2 six

在这里笔者遇到了paramiko安装不上的情况。给出的错误信息为“error command ‘gcc’ failed with exit status 1”

解决办法
安装gcc编译器,同时安装其他必备软件包

#yum install gcc
#yum install python-dev*
#yum install libffi-devel
#yum install openssl-devel
#yum install python-devel
#pip install PyCrypto
#pip install paramiko

至此安装完成。

6.当更新ansible版本时,不但要更新git的源码树,还要更新git中指向ansible自身模块,称为submodules:

# git pull --rebase
Current branch devel is up to date.
#git submodule update --init --recursive

这里介绍下git的一些小知识:

当本地commit一个提交和远端服务器中的代码有冲突(别人也改了相同的文件)时可以在pull 中加 –rebase。加上 rebase 的意思是:

git pull –rebase

合并前:
D—E master
/
A—B—C—F origin/master

使用 merge 合并后:
D——–E
/ \
A—B—C—F—-G master, origin/master

如果是 rebase 的方式,就不會有 G 合并点:
A—B—C—F—D’—E’ master, origin/master

注意到,其中 D’, E’ 的 commit SHA 序号跟本來 D, E 是不同的,应为算是砍掉重新 commit 了

Tar包安装方式

从该网址下载tar包:http://releases.ansible.com/ansible/
这里面存放着从ansible最初发行的1.1版本开始,指到最新2.2版本,可以根据需要下载。

制作rpm包安装方式

在GitHub上Ansible项目中提取软件,或直接下载一个tar包,然后使用make rpm命令创建RPM软件包,最后可分发这个软件包,或者使用它来安装Ansible。在创建之前先确定已安装了rpm-build,make,python2-devel组件。

#git clone git://github.com/ansible/ansible.git
#cd ./ansible
#make rpm
#rpm -Uvh ~/rpmbuild/ansible-*.noarch.rpm

使用yum安装方法

这里我依旧推荐使用阿里的yum源

在/etc/yum.repo/下创建一个repo文件如下,添加阿里的repo源。

[epel]
name=Extra Packages for Enterprise Linux 6 - $basearch
baseurl=http://mirrors.aliyun.com/epel/6/$basearch
        http://mirrors.aliyuncs.com/epel/6/$basearch
#mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch
failovermethod=priority
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6

[epel-debuginfo]
name=Extra Packages for Enterprise Linux 6 - $basearch - Debug
baseurl=http://mirrors.aliyun.com/epel/6/$basearch/debug
        http://mirrors.aliyuncs.com/epel/6/$basearch/debug
#mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-6&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
gpgcheck=0

[epel-source]
name=Extra Packages for Enterprise Linux 6 - $basearch - Source
baseurl=http://mirrors.aliyun.com/epel/6/SRPMS
        http://mirrors.aliyuncs.com/epel/6/SRPMS
#mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-source-6&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
gpgcheck=0

#yum clean all
#yum list
#yum install ansible

Homebrew(Mac OSX)安装方式

在Mac系统中安装Homebrew,之后使用brew安装ansible。

#ruby -e "$(curl --insecure -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
#brew update
#brew install Ansible

相关内容

    暂无相关文章