Ansible介绍、安装及使用
1.Ansible介绍
- Ansible是一款自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。
- 它可以配置系统、部署软件并协调更高级的 IT 任务,例如持续部署或零停机滚动更新。
- Ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是Ansible所运行的模块,Ansible只是提供一种框架。
- Ansible 围绕无代理架构构建。Ansible 通过 OpenSSH 或 WinRM 连接它所管理的主机并且运行任务。
自动化工具:
Ansible 通过ssh远程管理受控节点
saltstack 通过agent代理
puppet
chef
2.Ansible基本架构
Ansible架构图:
- 核心:Ansible
- 核心模块(Core Modules):Ansible自带的模块,主要操作是通过调用核心模块来完成管理任务。
- 扩展模块(Custom Modules):完成核心模块无法完成的功能,支持多种语言。
- 插件(Plugins):通过插件来实现记录日志,发送邮件或其他功能。
- 剧本(Playbooks)编排:YAML格式文件,多任务自定义在一个文件中,定义主机需要调用哪些模块来完成的功能。
- 连接插件(Connectior Plugins):Ansible基于连接插件连接到每个主机上的,Ansible和Host之间通信使用。
- 主机群(Host Inventory):记录由Ansible管理的主机信息,包括端口、密码、ip等。
3.Ansible的优点
部署简单,只需在主控端部署Ansible环境,被控端无需安装特殊代理。由于没有代理&#x