Ansible介绍与安装
1. 介绍Ansible
Ansible是自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。
Ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,Ansible只是提供一种框架。Ansible不需要在远程主机上安装client/agents,因为它们是基于ssh来和远程主机通讯的。Ansible目前已经已经被红帽官方收购,是自动化运维工具中大家认可度最高的,并且上手容易,学习简单。
1.1 Ansible特点
- 部署简单,只需在主控端部署 Ansible 环境,被控端无需做任何操作。
- 默认使用 SSH(Secure Shell)协议对设备进行管理。
- 支持跨平台:Ansible提供linux,windows,UNIX和网络设备的无代理支持,适用于物理,虚拟,容器等。
- 配置简单、功能强大、扩展性强。
- 简单易读,基于 YAML 文本编写,易于阅读,非专业的开发人员也可以编写。
- 通过 Playbooks 来定制强大的配置、状态管理。
1.2 架构图
- connection plugins:连接插件。负责和被监控端实现通信;
- host inventory:指定操作的主机,是一个配置文件里面定义监控的主机;
- Core Modules:核心模块,主要操作是通过调用核心模块来完成管理任务;
- custom models: ansible自带模块不足以满足工作需要时,用户添加扩展模块;
- Plugins:插件。完成记录日志邮件等功能;
- pla