一、简介
当下有许多的运维自动化工具( 配置管理 ),例如:Ansible、SaltStack、Puppet、Fabric 等。
Ansible 一种集成 IT 系统的配置管理、应用部署、执行特定任务的开源平台,是 AnsibleWorks 公司名下的项目,该公司由 Cobbler 及 Func 的作者于 2012 年创建成立。
Ansible 基于 Python 语言实现,由 Paramiko 和 PyYAML 两个关键模块构建。
二、特性
部署简单,只需在主控端部署 Ansible 环境,被控端无需做任何操作。
支持Linux/UNIX及windows环境
默认使用 SSH(Secure Shell)协议对设备进行管理,用它来配置思科路由也非常方便。
主从集中化管理。
配置简单、功能强大、扩展性强。
支持 API 及自定义模块,可通过 Python 轻松扩展。
通过 Playbooks 来定制强大的配置、状态管理。
对云计算平台、大数据都有很好的支持。
提供一个功能强大、操作性强的 Web 管理界面和 REST API 接口 ---- AWX 平台。
三、总体架构
四、执行过程
五、Ansible 与 SaltStack对比
>> 最大的区别是 Ansible 无需在被监控主机部署任何客户端代理,默认通过 SSH 通道进行远程命令执行或下发配置。
>> 相同点是都具备功能强大、灵活的系统管理、状态配置,都使用 YAML 格式来描述配置,两者都提供丰富的模板及 API,对云计算平台、大数据都有很好的支持。
Ansible在github上地址:https://github.com/ansible
Ansible安装部署与配置
角色 主机名 IP 组名
控制端 hd01 192.168.1.11 ——
被控端 hd02 192.168.1.12 webservers
被控端 hd03 192.168.1.13 webservers
Ansible安装
安装可使用源码编译安装,也可以更新yum源后使用yum安装
yum 安装:
配置源(centos6)
yum install http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm -y
换163的源
wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
mv CentOS6-Base-163.repo /etc/yum.repos.d/
yum clean all
CentOS6-Base-163.repo主要是为了安装:PyYAML
配置源(centos7)
rpm -iUvh http://ftp.jaist.ac.jp/pub/Linux/Fedora/epel//7/x86_64/e/epel-release-7-7.noarch.rpm
下载配置文件(centos7)
wget http://mirrors.163.com/.help/CentOS7-Base-163.repo CentOS7-Base-163.repo主要是为了安装:PyYAML
mv CentOS7-Base-163.repo /etc/yum.repos.d/
yum clean all
安装ansible
yum -y install ansible
查看ansible 版本
[[email protected] ~]# ansible --version
ansible 2.5.3
config file = /etc/ansible/ansible.cfg
configured module search path = [u‘/usr/share/my_modules‘]
ansible python module location = /usr/lib/python2.6/site-packages/ansible
executable location = /usr/bin/ansible
python version = 2.6.6 (r266:84292, Aug 18 2016, 15:13:37) [GCC 4.4.7 20120313 (Red Hat 4.4.7-17)]
注:yum装ansible 随着时间的推移,ansible版本会是最新版的。
未完待续。。