Centos7 安装 2.0.0版本ansible 番外篇-源码安装

 ansible的源码安装,顾名思义,就是从github中拉出ansible的源码库下载到本地进行安装,但是值得注意的时源码安装需要安装许多依赖包,每个依赖包的搜索和下载,在编译,然后在安装。很麻烦也很折腾,但是喜欢捣鼓或者闲着蛋疼可以操作,不喜欢直接用yum安装解决。

  首先我先介绍官方安装手册:

http://www.ansible.com.cn/docs/intro_installation.html?highlight=%E5%AE%89%E8%A3%85#from-source

这是真正的安装路径,网友的安装方法各有春秋,也因为安装环境的不同报错报故障。为什么要安装ansible2.0.0起因是因为写一个自动化运维的API接口是,调用ansible的play包必须在2.0.0的环境下面,又不知道Yum安装的2.7.5版本的这个包语法变到哪里去了。有所以重新搭建环境进行ansible2.0.0的安装,直接在2.0.0的版本下面调用最方便。另一种就是已经在yum安装的好ansible内重新降级版本使用,都很折腾。那就来折腾一下吧。

捣鼓环境:

虚拟机vmware14,

部署镜像Centos7 64bit86内核。【CentOS-7-x86_64-DVD-1804】

centos 7 默认安装。

部署管理机:192.168.182.133  节点:192.168.182.131 192.168.182.132

Centos7 安装 2.0.0版本ansible 番外篇-源码安装_第1张图片

Centos7 安装 2.0.0版本ansible 番外篇-源码安装_第2张图片

1、依赖包的包装

源码安装,安装官方的操作手册应该会报错,缺少依赖包。

首先我们先安装依赖包

#sudo yum install epel-release

除了epel-release了,还要安装其他依赖包

首先python的依赖包,源码安装需要python指令来操作【安装CENT7时,系统自带了。】

Centos7 安装 2.0.0版本ansible 番外篇-源码安装_第3张图片

https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz【没有时,可以yum安装也可以源码安装】

# tar -xvzf Python-2.7.8.tgz
# cd Python-2.7.8
# ./configure --prefix=/usr/local
# make && make install

安装完毕以后,避免和旧版本的python重复,删除旧版本的文件,重新连接新版本。

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

# cd /usr/local/include/python2.7

# cp -a ./* /usr/local/include/

## 备份旧版本的python,并符号链接新版本的python

# cd /usr/bin

# mv python python2.6

# ln -s /usr/local/bin/python

## 修改yum脚本,使其指向旧版本的python,已避免其无法运行

# vim /usr/bin/yum

#!/usr/bin/python  -->  #!/usr/bin/python2.6
 

安装其他的依赖包【需要一个个下载,在一个个解压;可以勇wget指令,省掉上传,我怎么忘记了呢】:

需要的依赖包

Centos7 安装 2.0.0版本ansible 番外篇-源码安装_第4张图片

搜索依赖包的网站:https://pypi.org/

(2)、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

(3)、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

(4)、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 && 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

(5)、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

(6)、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

(7)、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

(8)、ansible安装

https://github.com/ansible/ansible/archive/v2.0.0.0.tar.gz

# tar -xvzf ansible-2.0.0.0.tar.gz
# cd ansible-2.0.0.0
# python setup.py install

除此之外,有时候安装依赖包还报错要安装其他依赖包。

GCC,python-devel等包,报错缺少什么依赖包,就yum去安装,没有就去官网招依赖包来安装。

Centos7 安装 2.0.0版本ansible 番外篇-源码安装_第5张图片

Centos7 安装 2.0.0版本ansible 番外篇-源码安装_第6张图片

Centos7 安装 2.0.0版本ansible 番外篇-源码安装_第7张图片

安装完毕后,检查是否安装成功

2、ansible的环境配置

(1)、SSH免密钥登录设置

## 生成公钥/私钥

# ssh-keygen  【默认回车,如果想把公钥名字加点参数,然后ansible的配置环境中也要加入公钥名字】
........
Enter file in which to save the key(/root/.ssh/id_rsa):【回车】
........

(2)、ansible配置

# mkdir -p /etc/ansible
#cp ansible-2.0.0/examples/ansible.cfg /etc/ansible/ansible.cfg
# vim /etc/ansible/ansible.cfg

……

private_key_file = /root/.ssh/id_rsa

……
(3)、ansible的主机配置

# vim /etc/ansible/hosts

(4)、ansible的主机测试

Centos7 安装 2.0.0版本ansible 番外篇-源码安装_第8张图片

源码安装就完成了。

借鉴了几个网友参考文案:【每个人安装的方法是一致的,但是安装的路径和给依赖包添加链接大不同,注意细节。】

https://www.cnblogs.com/janehoo/p/5689543.html

https://www.cnblogs.com/mxjy/p/13455588.html

https://blog.csdn.net/williamfan21c/article/details/53439307

 

总结:记得看官网手册文档安装,记得看官网手册文档安装,记得看官网手册文档安装,重要事情说三百遍。这才是最准确的方法。我这个源码安装,还没有官方的指导性和可靠性强。各个安装包的路径都是在文章中呈现了,有兴趣可以捣鼓一下,感谢参考文案中一名网友,他确实把每个包路径都放出来了,这个很难的,省掉寻找的工夫。本来想把写的API接口脚本放上来,看看网友帮我找个错误,结果没保存,在努力搬砖把。

你可能感兴趣的:(ansible,自动化运维,运维,centos,服务器)