Ansible简介:
Ansible是一个简单高效的自动化运维管理工具,用Python开发,能大批量管理N多台机器,可以并发的在
多台机器上部署应用、安装软件、执行命令、配置和编排任务。
1 软件安装在服务器和客户端均安装python
实验环境:
westos1 172.25.254.11 ansible端,服务端
westos2 172.25.254.12 客户端
可以有多个客户端相同的方法安装即可:
Ansible是用Python开发的,使用ansible需要操作系统有Python,建议Python版本2.6以上。
Ansible安装所依赖插件较多,具体安装过程如下:
注:所有的软件包全部在/usr/local/目录下进行安装
基本安装
安装gcc,用于编译Python源码
yum install gcc
安装zlib(如果没安装,在安装setuptools时可能会出现的错误RuntimeError:Compression requires the (missing) zlib module)
yum install zlib zlib-devel -y
安装openssl(如果不安装,使用easy_install时可能会出现的错误:error:Could not find suitable distribution for Requirement.parse('jinja2'))
本实践未使用这种安装方式,就如下一个一个模块来安装(具体命令:easy_install pycrypto pyyaml jinja2 markupsafe ecdsa paramiko simplejson)
yum install openssl openssl-devel -y
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
## 将python头文件拷贝到标准目录,以避免编译ansible时,找不到所需的头文件
# cd /usr/local/include/python2.7
# cp -a ./* /usr/local/include/
## 备份旧版本的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
这两条命令均执行不然后面测试会报错文件/usr/bin/python不存在
以下仅仅在服务器做即可:
setuptools模块安装
[root@localhost bin]# vim /usr/bin/yum
[root@localhost bin]# cat /usr/bin/yum | head -n 1
#!/usr/bin/python2.4
[root@localhost bin]# cd
[root@localhost ~]# ls
pycrypto-2.6.1.tar.gz Python-2.7.8 Python-2.7.8.tgz setuptools-7.0.tar.gz
[root@localhost ~]# tar zxf setuptools-7.0.tar.gz
[root@localhost ~]# cd setuptools-7.0
[root@localhost setuptools-7.0]# python setup.py install
pycrypto模块安装:
[root@localhost setuptools-7.0]# ls
build launcher.c release.py
CHANGES (links).txt MANIFEST.in setup.cfg
CHANGES.txt _markerlib setup.py
DEVGUIDE.txt msvc-build-launcher.cmd setuptools
dist PKG-INFO setuptools.egg-info
docs pkg_resources.py tests
easy_install.py pkg_resources.pyc tox.ini
ez_setup.py README.txt
[root@localhost setuptools-7.0]# cd
[root@localhost ~]# ls
pycrypto-2.6.1.tar.gz Python-2.7.8.tgz setuptools-7.0.tar.gz
Python-2.7.8 setuptools-7.0
[root@localhost ~]# tar zxf pycrypto-2.6.1.tar.gz
[root@localhost ~]# cd pycrypto-2.6.1
[root@localhost pycrypto-2.6.1]# python setup.py install
PyYAML模块安装:
[root@localhost ~]# ls
pycrypto-2.6.1 Python-2.7.8.tgz setuptools-7.0.tar.gz
pycrypto-2.6.1.tar.gz PyYAML-3.11(1).tar.gz
Python-2.7.8 setuptools-7.0
[root@localhost ~]# tar zxf PyYAML-3.11\(1\).tar.gz
[root@localhost ~]# cd PyYAML-3.11
[root@localhost PyYAML-3.11]# ls
CHANGES ext lib3 PKG-INFO setup.cfg tests
examples lib LICENSE README setup.py
[root@localhost PyYAML-3.11]# python setup.py install
Jinja2模块安装: