Ansible是一个简单高效的自动化运维管理工具,用Python开发,能大批量管理N多台机器,
可以并发的在多台机器上部署应用、安装软件、执行命令、配置和编排任务。
## 1.1、Ansible工作机制
从图中可以看出ansible分为以下几个部份:
![](https://img.kancloud.cn/d6/99/d699949f92d47edddaba50ae8955cee8_690x310.png)
1> Control Node:控制机器
2> Inventory:主机清单,配置管理主机列表
3> Playbooks:剧本、任务编排。根据规则定义多个任务,模块组织结构清晰,由ansible自动执行。
4> Modules(Core | Custom):模块,用于执行某个具体的任务
5> connection plugin(连接插件):Ansible通过不同的协议连接到远程主机上,执行指定的命令。默认采用ssh协议连接远程主机。
## 1.2、Ansible执行流程
![](https://img.kancloud.cn/b8/b2/b8b2bec5cdd78615fe8c70faca47f79e_554x436.png)
简单理解就是Ansible在运行时,首先读取ansible.cfg中的配置,根据规则获取Inventory中的管理主机列表,并行的在这些主机中执行配置的任务,最后等待执行返回的结果。