ansible架构原理及工作流程

一、ansible介绍

ansible是一种自动化运维工具,基于paramiko模块开发,用于批量执行任务和发布工作,被广泛用于日常运维工作当中.

二、ansible架构
架构图:
ansible架构原理及工作流程

ansible核心模块介绍:
core models: ansible自带的模块,file,shell,copy等
custom models: ansible自带模块不足以满足工作需要时,用户添加扩展模块
host inventory: 由ansible 管理的主机,包括主机名,ip,端口等
playbook: yaml格式文件,多任务定义在一个yaml文件中,主要定义哪些功能由哪些模块完成,顺序执行
connection plugins: ansible通过该插件连接到各个目标主机,内部默认使用paramiko模块ssh协议来完成

三、ansible特性

  • 被管理端无需安装agnet,只要配置满足条件的python版本,和ssh服务
  • no server 只需要安装ansible软件,配置完之后,命令行完成工作
  • 可以基于任何语言开发新模块
  • 由于被控端没有安装agent软件,只能通过命令端推送任务
  • 模块是幂等性的,定义的任务已存在则不会做任何事情,意味着在同一台服务器上多次执行同一个playbook和执行一次,效果一样

四、ansible执行任务模式
1.ad-hoc模式
单模块,批量执行单条命令
2.playbook模式
批量执行多个任务,多个任务完成一个大的功能,相当于多个ad-hoc的配置文件

五、工作流程
ansible架构原理及工作流程

上一篇:Playbook剧本之facts变量


下一篇:ansible-playbook变量