第一章ansible简介
1、ansible的起源
Ansible的初始版本是0.0.1,发布于2012年3月9日,其作者兼创始人是Michael DeHaan。Michael DeHaan曾经供职于Puppet Labs、RedHat、Michael,在配置管理和架构设计方面有丰富的经验。其在RedHat任职期间主要开发了Cobble,经历了各种系统简化、自动化基础架构操作的失败和痛苦,在尝试了Puppet、Chef、Cfengine、Capistrano、Fabric、Function、Plain SSH等各式工具后,决定自己打造一款能结合众多工具优点的自动化工具,Ansible由此诞生。
Ansible版本更新速度非常快,有时会一天推出多个Dev版本,7天推出一个稳定版本。所以使用Ansible的过程中也需多留意官网的更新。
2、ansible的介绍
ansible是一种自动化运维工具,基于paramiko开发的,并且基于模块化工作,Ansible是一种集成IT系统的配置管理、应用部署、执行特定任务的开源平台,它是基于python语言,由Paramiko和PyYAML两个关键模块构建。集合了众多运维工具的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能.ansible是基于模块工作的,本身没有批量部署的能力.真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架.ansible不需要在远程主机上安装client/agents,因为它们是基于ssh来和远程主机通讯的.
ansible被定义为配置管理工具,配置管理工具通常具有以下功能:
1.确保所依赖的软件包已经被安装
2.配置文件包含正确的内容和正确的权限
3.相关服务被正确运行
常用的自动化运维工具技术特性比较:
3、Ansible的组成
Ansible主要由一下6部分组成
(1)Ansible Playbooks:任务集,编排定义Ansible任务集的配置文件,由Ansible顺序依次执行,通常是json格式的YML文件。
(2)Inventory:Ansible管理主机的清单。
(3)Modules:Ansible执行命令的功能模块,多数为内置的核心模块,也支持自定义
(4)Plugins:模块功能的补充,如连接类型插