Ansible工作流程详解

摘要:
CMDB在企业的IT架构中存储和管理各种配置信息,并直接发出指令,通过CMDB调用Ansible工具集以完成指定的目标。Ansible作为API调用运行。用户直接使用Ad Hoc临时命令集调用Ansible工具集来完成任务执行。安排定义Ansible任务集的配置文件,如连接类型插件、循环插件、变量插件、过滤器插件等,以及供第三方程序调用的应用程序编程接口;

1:Ansible的使用者

          ------>Ansible的使用者来源于多种维度,(1):CMDB(Configuration Management Database,配置管理数据库),CMDB存储和管理着企业的IT架构中的各项配置信息,是构建ITIL项目的核心工具,运维人员可以组合CMDB和Ansible,通过CMDB直接下发指令调用Ansible工具集完成指定的目标。(2):openstack/AWS方式,即私有云/公有云方式,Ansible除了丰富的内置模块,同时也提供了丰富的API语言接口,例如:PHPPYTHONPERL等。基于公有云和私有云,Ansible以API调用的方式运行。(3):USERS(用户)直接使用Ad-Hoc临时命令集调用Ansible工具集来完成任务执行。(4):用户预先编写好的Ansible PlayBooks,通过执行playbooks中预先编排好的任务集按序完成任务执行。

2:Ansible的组成

         ------>Ansible主要由一下6部分组成

  • Ansible Playbooks:任务集,编排定义Ansible任务集的配置文件,由Ansible顺序依次执行,通常是json格式的YML文件。
  • Inventory:Ansible管理主机的清单。
  • Modules:Ansible执行命令的功能模块,多数为内置的核心模块,也支持自定义
  • Plugins:模块功能的补充,如连接类型插件、循环插件、变量插件、过滤插件等,改功能不常用。
  • API:供第三方程序调用的应用程序编程接口;
  • Ansible:此处指的是组合nventory、Modules、Plugins、API的Ansible命令工具,其为核心执行工具

3:工作流程

Ansible工作流程详解第1张

---------->上图展示了Ansible组建调用关系,使用者使用Ansible或Ansible-playbooks时,在服务器终端输入Ansible的Ad-Hoc命令集或palybook后,Ansible会遵循预先编排的规则将Playbooks逐条拆解为Play,再将paly组织成Ansible可识别的任务(Task),随后调用任务涉及的所有模块(modules)和插件(plugins),根据Inventory中定义的主机列表通过SSH将任务集以临时文件或命令的形式传输到远程客户端执行并返回执行结果,如果是临时文件,则执行完毕后自动删除。

PS:本文的产生来自于Ansible权威指南一书。

免责声明:文章转载自《Ansible工作流程详解》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇idea 设置项目maven默认启用jdk1.8编译CoreData使用方法二:NSFetchedResultsController实例操作与解说下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

apk反编译与破解

前段时间项目上线,单机游戏,想着肯定是会被破解的,但没想到,分分钟就被破了,游戏数据也是相当的差,于是闲暇时,也自己研究下安卓的破解。个人观点(装一下X):所谓反编译和破解付费等都只应用于学习交流,发布出去,就有点太不尊重他人劳动成果了。 使用工具:(当然首先得配好java环境,这是废话)   apktool : 资源文件获取,可以提取出图片文件和布局文件...

linux 下文件恢复工具extundelete介绍

        下载http://extundelete.sourceforge.net/ bunzip2 extundelete-0.2.0.tar.bz2 tar xvf extundelete-0.2.0.tar cd extundelete-0.2.0 make make install   [root@yznvm1 yzn]# df文件系统  ...

Node.js入门:文件查找机制

文件查找流程图 从文件模块缓存中加载     尽管原生模块与文件模块的优先级不同,但是都不会优先于从文件模块的缓存中加载已经存在的模块。 从原生模块加载     原生模块的优先级仅次于文件模块缓存的优先级。require方法在解析文件名之后,优先检查模块是否在原生模块列表中。以http模块为例,尽管在目录下存在一个http/http.js/http....

NodeJS中的require和import

  ES6标准发布后,module成为标准,标准的使用是以export指令导出接口,以import引入模块,但是在我们一贯的node模块中,我们采用的是CommonJS规范,使用require引入模块,使用module.exports导出接口。 不把require和import整清楚,会在未来的标准编程中死的很难看。 require时代的模块 node编...

git管理子模块

目录 git管理子模块 submodule 常用命令 创建带子模块的项目 克隆带子模块的项目 项目中修改子模块 项目中获取子模块 项目中删除子模块 subtree 常用命令 创建带子模块的项目 克隆带子模块的项目 项目中修改子模块 项目中获取子模块 项目中删除子模块 文件软链接 git管理子模块 当项目越来越庞大之后,不可避免的要...

Cadence学习PCB设计(序)

Cadence工具包含IC设计组件和PCB设计组件,从现在开始学习PCB设计组件,并对比曾经的Altium(Protel) Cadence PCB设计组件采用分立的工具,这个与Altium不同。以16.x为标准,近10个组件。 原理图部分 OrCAD Capture CIS or Allegro Design Entry CIS :  原理图部分工具,主...