Ansible 是近年来越来越火的一款开源运维自动化工具,通过Ansible可以实现运维自动化,提高运维工程师的工作效率,减少人为失误。
Ansible 通过本身集成的非常丰富的模块可以实现各种管理任务,其自带模块超过上千个。更为重要的是,它操作非常简单,即使小白也可以轻松上手,但它提供的功能又非常丰富,在运维领域,几乎可以做任何事。
1、Ansible 特点
Ansible 自 2012 年发布以来,很快在全球流行,其特点如下:
Ansible 基于 Python 开发,运维工程师对其二次开发相对比较容易;
Ansible 丰富的内置模块,几乎可以满足一切要求;
管理模式非常简单,一条命令可以影响上千台主机;
无客户端模式,底层通过 SSH 通信;
Ansible发布后,也陆续被 AWS、Google Cloud Platform、Microsoft Azure、Cisco、HP、VMware、Twitter 等大公司接纳并投入使用;
二、Ansible的角色
使用者:如何使用 Ansible 实现自动化运维?
Ansible 工具集:Ansible 可以实现的功能?
作用对象:Ansible 可以影响哪些主机?
1、使用者
如下图所示:Ansible 使用者可以采用多种方式和 Ansible 交互,图中展示了四种方式:
CMDB:CMDB 存储和管理者企业IT架构中的各项配置信息,是构建 ITIL 项目的核心工具,运维人员可以组合 CMDB 和 Ansible,通过 CMDB 直接下发指令调用Ansible 工具集完成操作者所希望达到的目标;
PUBLIC/PRIVATE 方式:Ansible 除了丰富的内置模块外,同时还提供丰富的 API语言接口,如PHP、Python、PERL 等多种流行语言,基于 PUBLIC/PRIVATE,Ansible 以 API 调用的方式运行;
Ad-Hoc 命令集:Users直接通过Ad-Hoc命令集调用Ansible工具集来完成任务;
Playbooks:Users 预先编写好 Ansible Playbooks,通过执行
Playbooks 中预先编排好的任务集,按序执行任务;