一、什么是ansible?
ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。
其主要功能是帮助运维实现IT工作的自动化、降低人为操作失误、提高业务自动化率、提升运维工作效率。
ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。
主要包括:
(1)、连接插件connection plugins:负责和被监控端实现通信;
(2)、host inventory:指定操作的主机,是一个配置文件里面定义监控的主机;
(3)、各种模块核心模块、command模块、自定义模块;
(4)、借助于插件完成记录日志邮件等功能;
(5)、playbook:剧本执行多个任务时,非必需可以让节点一次性运行多个任务。
二、为什么选择ansible?
- Ansible完全基于Python开发,而 DevOps(促进开发、技术运营和质量保障(QA)部门之间的沟通、协作与整合) 在国内已然是一种趋势,Python被逐渐普及,运维人员自己开发工具的门槛逐渐降低,因此,方便对Ansible的二次开发。
- Ansible丰富的内置模块,甚至还有专门为商业平台开发的功能模块,完全可以满足日常功能所需。
- 在A