ansible运维自动化运维自动化
简介:
当下有许多的运维自动化工具(配置管理),例如:Ansible、SaltStack、Puppet、Fabric 等。
Ansible 一种集成 IT 系统的配置管理、应用部署、执行特定任务的开源平台,是 AnsibleWorks 公司名下的项目,该公司由
Cobbler 及 Func 的作者于 2012 年创建成立。
Ansible 基于 Python 语言实现,由 Paramiko 和 PyYAML 两个关键模块构建。
(1)Ansible是什么?
ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、chef、func、fabric)的优点,实现了
批量系统配置、批量程序部署、批量运行命令等功能。ansible是基于 paramiko 开发的,并且基于模块化工作,本身没有批量
部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。ansible不需要在远程主机上安装
client/agents,因为它们是基于ssh来和远程主机通讯的。
(2)Ansible 特点:
部署简单,只需在主控端部署Ansible环境,被控端无需做任何操作。
默认使用 SSH(Secure Shell)协议对设备进行管理。
主从集中化管理。
配置简单、功能强大、扩展性强。
支持 API 及自定义模块,可通过 Python 轻松扩展。
通过 Playbooks 来定制强大的配置、状态管理。
对云计算平台、大数据都有很好的支持。
提供一个功能强大、操作性强的Web管理界面和REST API接口 —- AWX 平台。
(3)ansible工作机制
Ansible:ansible核心程序;
Hostlnvetory:记录ansible管理的主机信息,包括端口,密码,ip等;
Playbooks:”剧本”YAML格式文件,多个任务定义在一个文件中,定义主机需要调用哪些模块来完成的功能
coreModukes:核心模块,主要操作是通过核心模块来完成管理任务。
customModules:自定义模块,完成核心模块无法完成的功能,支持多种语言。
ConnectionPlugins:连接插件,ansible和host通信;
(4)Ansible与SaltStack