关于ansible就不多做简绍了,直接开始安装配置

安装环境】

[root@AnsibleServer ~]# cat /etc/centos-release 
CentOS release 6.5 (Final)
[root@AnsibleServer ~]# uname -a
Linux AnsibleServer 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

安装操作系统依赖包

[root@AnsibleServer ~]#yum install -y python-setuptools python-devel gmp-devel gcc java-1.7.0-openjdk unzip svnkit

下载libyaml并安装

[root@AnsibleServer ~]#wget http://pyyaml.org/download/libyaml/yaml-0.1.5.tar.gz
[root@AnsibleServer ~]#tar -zxvf yaml-0.1.5.tar.gz
[root@AnsibleServer ~]#cd yaml-0.1.5
[root@AnsibleServer yaml-0.1.5]#./configure
[root@AnsibleServer yaml-0.1.5]#make
[root@AnsibleServer yaml-0.1.5]#make install

下载python依赖包并安装

[root@AnsibleServer ~]#wget https://pypi.python.org/packages/source/M/MarkupSafe/MarkupSafe-0.23.tar.gz
[root@AnsibleServer ~]#tar -zxvf MarkupSafe-0.23.tar.gz
[root@AnsibleServer ~]#cd MarkupSafe-0.23
[root@AnsibleServer MarkupSafe-0.23]#python setup.py install
以下同样执行
[root@AnsibleServer ~]#https://pypi.python.org/packages/source/p/paramiko/paramiko-1.15.2.tar.gz
[root@AnsibleServer ~]#https://pypi.python.org/packages/source/e/ecdsa/ecdsa-0.13.tar.gz
[root@AnsibleServer ~]#https://pypi.python.org/packages/source/p/pycrypto/pycrypto-2.6.1.tar.gz
[root@AnsibleServer ~]#https://pypi.python.org/packages/source/D/Distutils2/Distutils2-1.0a4.tar.gz
[root@AnsibleServer ~]#https://pypi.python.org/packages/source/P/PyYAML/PyYAML-3.11.tar.gz
[root@AnsibleServer ~]#https://pypi.python.org/packages/source/J/Jinja2/Jinja2-2.8.tar.gz

下载ansible并安装

在这里我们编译安装

[root@AnsibleServer ~]#wget https://github.com/ansible/ansible/releases/download/v2.0.0.1-1/ansible-2.0.0.1.tar.gz
也可以选择其它版本 https://github.com/ansible/ansible
[root@AnsibleServer ~]#tar -zxvf ansible-2.0.0.1.tar.gz
[root@AnsibleServer ~]#python setup.py install
[root@AnsibleServer ~]#mkdir -p /etc/ansible
[root@AnsibleServer ~]#cp -rp examples/*  /etc/ansible/
执行以下3个命令,若都能执行,说明ansible安装成功!
ansible
ansible-playbook
ansible-doc

注意:从1.8版本开始,需要另外下载模块(注意模块版本与ansible版本必须匹配,否则执行可能出现莫名其妙的问
(建议先参照下github上的版本后再选择下载地址)
我们先检查下是否已经有相应的模块,如果没有要自行添加
[root@AnsibleServer modules]# cd /usr/lib/python2.6/site-packages/ansible-2.0.0.1-py2.6.egg/ansible/modules
[root@AnsibleServer modules]# ls
core  extras  __init__.py  __init__.pyc
其中core extras 就是已经添加了的模块,如果没有按以下方法添加
[root@AnsibleServer modules]#git clone https://github.com/ansible/ansible-modules-core/tree/stable-2.0.0.1 core
[root@AnsibleServer modules]#git clone https://github.com/ansible/ansible-modules-extras/tree/stable-2.0.0.1 extras

接下来我们配置AnsibleServer连通Nod1



配置SSH秘钥信任,当然ansibles也可以用密码登录

添加/etc/hosts主机名和地址
[root@AnsibleServer ~]# vi /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.81.129 NOD1

生成SSH秘钥
[root@AnsibleServer ~]# ssh-keygen -t rsa
[root@AnsibleServer ~]# ssh-copy-id -i ~/.ssh/id_rsa root@nod1
验证
[root@AnsibleServer ~]#  ssh nod1
Last login: Fri Mar 25 18:07:17 2016 from 192.168.81.128
[root@NOD1 ~]# exit

配置ansible

[root@AnsibleServer ~]# vi /etc/ansible/hosts
[test]
NOD1

[root@AnsibleServer ansible]# ansible test -m ping
NOD1 | SUCCESS => {
    "changed": false, 
    "ping": "pong"
}

问题记录:

[root@AnsibleServer ~]# ansible test -m ping

/usr/lib64/python2.6/site-packages/Crypto/Util/number.py:57: PowmInsecureWarning: Not using mpz_powm_sec.  You should rebuild using libgmp >= 5 to avoid timing attack vulnerability.

  _warn("Not using mpz_powm_sec.  You should rebuild using libgmp >= 5 to avoid timing attack vulnerability.", PowmInsecureWarning)

NOD1 | SUCCESS => {

    "changed": false, 

    "ping": "pong"

}


意思是说系统自带 gmp 库版本太低,需要升级到 gmp 5.x

按以下方法处理

1、去 http://ftp.gnu.org/gnu/gmp/ 下载最新版并解压

#cd /tmp
#wget http://ftp.gnu.org/gnu/gmp/gmp-5.1.3.tar.bz2
#tar xjvf gmp-5.1.3.tar.bz2
#cd gmp-5.1.3
#./configure
#make
#make install
4、加入 ldconfig
#echo "/usr/local/lib" >> /etc/ld.so.conf.d/gmp.conf
#ldconfig
5、确认是否已经加入

#strings /etc/ld.so.cache|grep gmp
libgmpxx.so.4
/usr/lib64/libgmpxx.so.4
libgmp.so.10
/usr/local/lib/libgmp.so.10
libgmp.so.3
/usr/lib64/libgmp.so.3
libgmp.so
/usr/local/lib/libgmp.so
6、重新安装 pycrypto
我们要先安装pip
#wget --no-check-certificate https://github.com/pypa/pip/archive/1.5.5.tar.gz
#tar zvxf 1.5.5.tar.gz    #解压文件
#cd pip-1.5.5/
#python setup.py install

然后用pip再次安装pycrypto

#pip uninstall pycrypto
#pip install pycrypto

完成后警告解除。
# ansible test -m ping
NOD1 | SUCCESS => {
    "changed": false, 
    "ping": "pong"
}

以上就是centos ansible安装配置,下节我们配置ansible-playbook