1.环境:centos7,Python 2.7(兼容Python2.6.6),两台服务器:192.168.1.94(被控机),192.168.1.115(主机)
2.安装:(如不特殊说明,均在主机上安装部署)
a.yum -y install python-devel
b..安装pycrypto模块
wget 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
c.安装yaml模块
wget 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
d.安装PyYAML模块
wget 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
e. 安装MarkupSafe模块
wget 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
f.安装Jinja2模块
wget 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
g.安装simplejson模块安装
wget 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
h. 安装ecdsa模块
wget 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
i. 安装paramiko模块
wget 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
j. 安装ansible
wget 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
k. 安装setuptools
wget 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、配置:
a.拷贝配置文件
在安装完成之后,配置文件在安装路径之中,如下图所示:
b.在ansible安装目录下,拷贝examples目录下的拷贝ansible.cfg,hosts到/etc/ansible(新建)目录下:
新建目录:mkdir /etc/ansible
拷贝/usr/local/pythonasiable/ansible-1.7.2/examples目录下的ansible.cfg与hosts到/etc/ansible目录: cp ansible.cfg hosts /etc/ansible/
c.配置hosts文件
vi /etc/ansible/hosts
在hosts文件中添加此行被控机信息:
[client]
192.168.1.94 ansible_ssh_user=root ansible_ssh_pass='superv8.com'

d.ssh配置
SSH免密码登录,因为需要通过SSH登录到各个节点进行操作,我用的是root用户,
每台服务器都生成公钥,再合并到authorized_keys
(1)CentOS默认没有启动ssh无密登录,去掉vi /etc/ssh/sshd_config其中2行的注释,
每台服务器都要设置,(去除#号)
RSAAuthentication yes
PubkeyAuthentication yes
(2)输入命令,ssh-keygen -t rsa,生成key,都不输入密码,一直回车,/root就会生成.ssh文件夹,每台服务器都要设置,
(3)合并公钥到authorized_keys文件,在Master服务器,进入/root/.ssh目录,通过SSH命令合并,
cat id_rsa.pub>> authorized_keys
ssh root@192.168.1.94 cat ~/.ssh/id_rsa.pub>> authorized_keys
ssh root@192.168.1.115 cat ~/.ssh/id_rsa.pub>> authorized_keys
(4)authorized_keys为存储的id_rsa.pub、known_hosts 初次访问时会在.ssh下生成
(5)完成,ssh root@192.168.1.94 、ssh root@192.168.1.115 就不需要输入密码了
15、初步进行测试

16.相关报错,解决方法:
a..相关报错

解决办法:
Ansible使用sshpass程序通过SSH登录到服务器时使用的密码。
出于安全原因,你应该Ansible登录服务器使用SSH密钥,但对于新服务器最初是简单的登录密码,Ansible设置用户和SSH密钥,然后后续登录使用SSH密钥。
sshpass,可以从源代码安装sshpass有以下步骤:
curl -O -L http://downloads.sourceforge.net/project/sshpass/sshpass/1.05/sshpass-1.05.tar.gz
tar xvzf sshpass-1.05.tar.gz
cd sshpass-1.05
./configure
make
make install
本文详细介绍在CentOS7环境下,如何通过Python2.7安装Ansible所需的依赖模块,并完成Ansible的安装配置过程,包括SSH免密码登录配置及简单测试。
2489

被折叠的 条评论
为什么被折叠?



