CentOS6.6源码安装Ansible,centos6.6ansible


Linux下安装部署Ansible介绍
         Ansible是一种批量部署工具,现在运维人员用的最多的三种开源集中化管理工具有:puppet,saltstack,ansible,各有各的优缺点,其中saltstack和ansible都是用python开发的。ansible其实准确的说只提供了一个框架,它要基于很多其他的python模块才能工作的,所以在安装ansible的时候你要再装很多其他的依赖包的。
         好处之一是使用者可以开发自己的模块,放在里面使用。第二个好处是无需在客户端安装agent,更新时,只需在操作机上进行一次更新即可。第三个好处是批量任务执行可以写成脚本,而且不用分发到远程就可以执行。


正文

注意:强烈建议升级python版本到2.6以上,不然运行会出错或者有些功能会没有,在编译安装其他包的时候也会因为兼容问题报错。

安装步骤
   (1)、python2.7安装
https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz
# tar xvzf Python-2.7.8.tgz
# cd Python-2.7.8
# ./configure --prefix=/usr/local
# make 
# make install

(2) 将python头文件拷贝到标准目录,以避免编译ansible时,找不到所需的头文件

# cd /usr/local/include/python2.7
# cp -a ./* /usr/local/include/

(3)备份旧版本的python,并创建新版本的python
# cd /usr/bin
# mv python python.old

#ln -s /usr/local/bin/python2.7 /usr/local/bin/python

# rm -f /usr/bin/python && cp /usr/local/bin/python2.7 /usr/bin/python

(4)修改yum脚本,使其指向旧版本的python,已避免其无法运行
# vim /usr/bin/yum
#!/usr/bin/python  -->  #!/usr/bin/python2.6

(5)安装所需模块

setuptools模块安装

https://pypi.python.org/packages/source/s/setuptools/setuptools-7.0.tar.gz
# tar xvzf setuptools-7.0.tar.gz
# cd setuptools-7.0
# python setup.py install

easy_install  pycrypto

easy_install  PyYAML

easy_install  Jinja2

easy_install  paramiko[没装上,心塞,手动装一下]

easy_install  simplejson

easy_install  ansible[没装上,心塞,手动装一下]

-----------上述的setuptools一次性搞定所需模块的安装,如果用的不习惯,可以使用以下的编译安装--------------------------------------------------------------

pycrypto模块安装

https://pypi.python.org/packages/source/p/pycrypto/pycrypto-2.6.1.tar.gz
# tar xvzf pycrypto-2.6.1.tar.gz
# cd pycrypto-2.6.1
# python setup.py install

PyYAML模块安装

http://pyyaml.org/download/libyaml/yaml-0.1.5.tar.gz
# tar xvzf yaml-0.1.5.tar.gz
# cd yaml-0.1.5
# ./configure --prefix=/usr/local
# make --jobs=`grep processor/proc/cpuinfo | wc -l`
# make install

https://pypi.python.org/packages/source/P/PyYAML/PyYAML-3.11.tar.gz
# tar xvzf PyYAML-3.11.tar.gz
# cd PyYAML-3.11
# python setup.py install

Jinja2模块安装

https://pypi.python.org/packages/source/M/MarkupSafe/MarkupSafe-0.9.3.tar.gz
# tar xvzf MarkupSafe-0.9.3.tar.gz
# cd MarkupSafe-0.9.3
# python setup.py install

https://pypi.python.org/packages/source/J/Jinja2/Jinja2-2.7.3.tar.gz
# tar xvzf Jinja2-2.7.3.tar.gz
# cd Jinja2-2.7.3
# python setup.py install

paramiko模块安装

https://pypi.python.org/packages/source/e/ecdsa/ecdsa-0.11.tar.gz
# tar xvzf ecdsa-0.11.tar.gz
# cd ecdsa-0.11
# python setup.py install


https://pypi.python.org/packages/source/p/paramiko/paramiko-1.15.1.tar.gz
# tar xvzf paramiko-1.15.1.tar.gz
# cd paramiko-1.15.1
# python setup.py install

simplejson模块安装

https://pypi.python.org/packages/source/s/simplejson/simplejson-3.6.5.tar.gz
# tar xvzf simplejson-3.6.5.tar.gz
# cd simplejson-3.6.5
# python setup.py install

ansible安装[安装不成功]

https://github.com/ansible/ansible/archive/v1.7.2.tar.gz
# tar xvzf v1.7.2.tar.gz
# cd ansible-1.7.2
# python setup.py install

直接yum安装

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo

yum install -y ansible

-------------------------------------------------------------------------------------------------------------------------------------

(6)验证ansible
# ansible --version

(7)SSH免密钥登录设置

生成公钥/私钥
在本地机器上使用ssh-keygen产生公钥私钥对
# ssh-keygen -t rsa   
用ssh-copy-id将公钥复制到远程机器中
#ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.56.160
注意: ssh-copy-id 将key写到远程机器的 ~/ .ssh/authorized_key.文件中

至此安装完成,下篇博客我会介绍ansible的基本用法。


相关内容

    暂无相关文章