Ansible—简介

Ansible简介:
Ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。

Ansible特点:
Ansible支持API接口调用,例如通过CMDB调用或公有云接口调用
Ansible是一个框架,基于模块、插件工作
基于SSH工作,即被管理端要支持SSH管理
通过playbooks来编写强大的配置、状态管理,实现自动化

Ansible优势:
1、轻量级
2、可以不是用agent,使用ssh(默认)实现远程管理
3、没有服务器端,用户只需手动发送命令即可
4、模块可以使用任何变成语言编写。只需符合ansible规则借口
5、基于python语言实现,由pyYAML、jinjia2(不确定)、paramiko三个关键模块实现
6、Ansible不是服务,所以不需要启动Ansible服务,修改完配置文件也不需要重启,它的所有操作都依赖ansible命令

Ansible主要组成:
ANSIBLE PLAYBOOKS:任务剧本(任务集),编排定义Ansible任务集的配置文件,由Ansible顺序依次执行,通常是JSON格式的YML文件
INVENTORY:Ansible管理主机的清单/etc/anaible/hosts
MODULES:Ansible执行命令的功能模块,多数为内置核心模块,也可自定义
PLUGINS:模块功能的补充,如连接类型插件、循环插件、变量插件、过滤插件等,该功能不常用
API:供第三方程序调用的应用程序编程接口
ANSIBLE:组合INVENTORY、API、MODULES、PLUGINS的绿框,可以理解为是ansible命令工具,其为核心执行工具

Ansible原理架构:
Ansible—简介