Ansible的简介
Ansible是一款为类Unix系统开发的自由开源的配置和自动化工具。用python开发的,类似于saltstack和Puppet,但是有一个不同的是我们不需要在节点中安装任何客户端。它使用SSH来与节点通信。Ansible基于python paramiko开发,分布式,无需客户端,轻量级,配置语法使用YMAL及Jinja2模板语言,具有极强的远程命令操作执行能力。
Ansbile官网
Ansible 特点
- 1、部署简单,只需要在主控端部署Ansible环境,被控端无需做任何操作;
- 2、默认使用SSH协议对设备进行管理;
- 3、主从集中话管理;
- 4、配置简单、功能强大、扩展性强;
- 5、支持API及自定义模块,可通过Python轻松扩展;
- 6、通过Playbooks来定制强大的配置、状态管理;
- 7、对云计算平台、大数据都有很好的支持
Ansible工作机制
Ansible在管理节点将Ansible模块通过SSH协议推动到被管理端执行,执行完毕后自动删除,可以使用SVN等来管理自定义模块及编排。
Ansible的组成
由5个部分组成:
- Ansible: ansible核心
- Modules: 包括Ansible自带的核心模块及自定义模块
- Plugins: 完成模块功能的补充,包括连接插件、邮件插件等
- Playbooks: 剧本;定义Ansible多任务配置文件,由Ansible自动执行
- Inventory: 定义Ansible管理主机的清单