ansible安装配置
基础介绍
简介
ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。主要包括:
- 连接插件connection plugins:负责和被监控端实现通信;
- host inventory:指定操作的主机,是一个配置文件里面定义监控的主机;
- 各种模块核心模块、command模块、自定义模块;
- 借助于插件完成记录日志邮件等功能;
- playbook:剧本执行多个任务时,非必需可以让节点一次性运行多个任务。
总体架构

特性
- no agents:不需要在被管控主机上安装任何客户端;
- no server:无服务器端,使用时直接运行命令即可;
- modules in any languages:基于模块工作,可使用任意语言开发模块;
- yaml,not code:使用yaml语言定制剧本playbook;
- ssh by default:基于SSH工作;
- strong multi-tier solution:可实现多级指挥。
优点
- 轻量级,无需在客户端安装agent,更新时,只需在操作机上进行一次更新即可;
- 批量任务执行可以写成脚本,而且不用分发到远程就可以执行;
- 使用python编写,维护更简单,ruby语法过于复杂;
- 支持sudo。
任务执行流程

ansible安装配置
环境说明
CentOS Linux release 7.4.1708 (Core)
关闭防火墙(systemctl stop firewalld, systemctl disable firewalld)
关闭selinux
使用源码安装python3.6
yum install -y gcc gcc-c++ ncurses ncurses-devel unzip zlib-devel zlib openssl-devel openssl
cd /usr/local/src/
wget 'https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tgz'
tar -zxvf Python-3.6.4.tgz
cd Python-3.6.4
./configure --prefix=/usr/local/python/ #环境探测
make #编译
make install #安装
测试python3是否安装成功
/usr/local/python/bin/python3 --version
ln -s /usr/local/python/bin/python3 /usr/local/bin/
python3 --version
升级pip
/usr/local/python/bin/pip3 install --upgrade pip
安装ansible最新版本(ansible-2.5.2)
/usr/local/python/bin/pip3 install ansible
/usr/local/python/bin/ansible --version
ln -s /usr/local/python/bin/ansible /usr/local/bin/
ansible --version
安装ansible指定版本
/usr/local/python/bin/pip3 install ansible==2.1.1
/usr/local/python/bin/pip3 install ansible==1.9.1
ansible查看帮助
/usr/local/python/bin/ansible-doc -l #查看总帮助
/usr/local/python/bin/ansible-doc -s shell #查看shell模块的帮助
/usr/local/python/bin/ansible-doc -s raw

浙公网安备 33010602011771号