介绍
ansible是新出现的自动化运维工具,基于Python开发,实现了批量系统配置、批量程序部署、批量运行命令等功能。
安装
ansible在线安装
ansible安装常用两种方式,yum安装和pip程序安装
这里提供二种安装方式,任选一种即可:
1、使用yum安装
#epel源
yum install epel-release -y
#安装ansible
yum install ansible –y
2、 使用pip(python的包管理模块)安装
#安装pip
yum install python-pip -y
#pip安装ansible
pip install ansible
离线安装
线上服务器由于有一些没有外网,所以只能离线安装,离线安装也分两种,下载所有rpm包直接安装,或者下载相关源码包编译安装
rpm包安装
其实就是把在线安装的所有rpm包,打包上传至服务器,进行安装即可
下载
#epel源
yum install epel-release -y
#只下载不安装
yum install ansible –y --downloadonly --downloaddir=./ansible
#打包
tar zcf ansible.tgz ./ansible/
然后将其上传至线上服务器进行安装
tar xf ansible.tgz
cd ansible
yum install ./ansible*.rpm
编译安装
编译安装需要gcc环境,环境安装请自行百度
软件需求:
ansible/ansible-2.2.0.0-0.2.rc2.tar.gz
ansible/ansible.cfg
ansible/ecdsa-0.11.tar.gz
ansible/Jinja2-2.7.3.tar.gz
ansible/MarkupSafe-0.9.3.tar.gz
ansible/modules.tar.gz
ansible/paramiko-1.15.1.tar.gz
ansible/pycrypto-2.6.1.tar.gz
ansible/Python-2.7.12.tgz
ansible/PyYAML-3.11.tar.gz
ansible/setuptools-7.0.tar.gz
ansible/simplejson-3.6.5.tar.gz
ansible/yaml-0.1.5.tar.gz
ansible/zlib-1.2.3-29.el6.x86_64.rpm
ansible/zlib-devel-1.2.3-29.el6.x86_64.rpm
离线安装脚本(将所有软件放入ansible.tar,gz压缩包内,上传至服务器 /root 目录下):
#########################################################################
# File Name: ansible.sh
# Author: root
# mail: root.com
# Created Time: 2017年12月18日 星期一 13时50分37秒
#########################################################################
#!/bin/bash
#soft path
PH=`pwd`
#install command
IL="python setup.py install"
file="$PH/ansible"
#unpack
gcc -v
if [ $? > 0 ]
then
echo "no install gcc"
exit
fi
tar zxf ansible.tar.gz
#zlib
cd $file
rpm -ivh zlib-1.2.3-29.el6.x86_64.rpm
rpm -ivh zlib-devel-1.2.3-29.el6.x86_64.rpm
#python-devel
cd $file
tar xf Python-2.7.12.tgz
cd $file/Python-2.7.12/
./configure
make all && make install
make clean
mv /usr/bin/python /usr/bin/python2.6.6
ln -s /usr/local/bin/python2.7 /usr/bin/python
#settupools
cd $file
tar zxf setuptools-7.0.tar.gz
cd $file/setuptools-7.0
$IL
#pycrypto
cd $file
tar zxf pycrypto-2.6.1.tar.gz
cd pycrypto-2.6.1
$IL
#pyYAML
cd $file
tar zxf yaml-0.1.5.tar.gz
cd yaml-0.1.5
./configure --prefix=/usr/local
make && make install
cd $file
tar zxf PyYAML-3.11.tar.gz
cd PyYAML-3.11
$IL
#jinja2
cd $file
tar zxf MarkupSafe-0.9.3.tar.gz
cd MarkupSafe-0.9.3
$IL
cd $file
tar zxf Jinja2-2.7.3.tar.gz
cd Jinja2-2.7.3
$IL
#paramiko
cd $file
tar zxf ecdsa-0.11.tar.gz
cd ecdsa-0.11
$IL
cd $file
tar zxf paramiko-1.15.1.tar.gz
cd paramiko-1.15.1
$IL
#simplejson
cd $file
tar zxf simplejson-3.6.5.tar.gz
cd simplejson-3.6.5
$IL
#ansible
cd $file
tar zxf ansible-2.2.0.0-0.2.rc2.tar.gz
cd ansible-2.2.0.0-0.2.rc2
$IL
if [ ! -f /etc/ansible ]
then
mkdir -p /etc/ansible
fi
cd $file
cp ansible.cfg /etc/ansible/