企业级playbook的使用
一、roles文件存放位置
可以在ansible.cfg配置文件中找到,默认路径如下:

也可以在ansible.cfg文件中自定义修改
二、下面以/usr/share/ansible目录来讲解
ansible的目录结构如下以安装httpd为示例:
[root@localhost share]# tree ansible/
ansible/
├── http_playbook.yml # 和roles平级,来调用对应的剧本
├── plugins # 默认自带的插件目录
└── roles # roles存放那个目录
├── app # 安装app的剧本
├── httpd # 安装htppd的剧本
│ ├── files #file模块用到的文件存放的目录, tasks中也可以使用绝对路径来调用其他位置的文件
│ │ └── 1for.txt
│ ├── handlers # handlers任务,和notify配合使用, 这里需要用main.yml来做handlers任务的总调用,可以在该目录下定义其他yml,但是必须加入main.yml中来调用
│ │ └── main.yml # handlers任务的总入口
│ ├── tasks # taks目录,该目录下可以定义很多yml文件来执行操作,但是必须main.yml作为总调用入口,相当于把原本写在一个playbook中的任务分开执行,增加文件的复用性和灵活性
│ │ ├── cp_conf.yml
│ │ ├── group.yml
│ │ ├── main.yml
│ │ ├── service.yml
│ │ ├── teml2.yml
│ │ ├── teml.yml
│ │ ├── user.yml
│ │ └── yum.yml
│ ├── templates # task中用到的木板文件默认都存放在该目录下以便调用
│ │ ├── 2for.txt
│ │ └── httpd.conf
│ └── vars # task中的参数全部定在该目录下,并且以main.yml为入口
│ └── main.yml
└── nginx # 安装nginx软件的剧本
三、关键文件展示
总入口文件,只是编写内容比传统playbook少,只需要调用roles下面对应的剧本即可:

tasks入口文件,tasks目录下的独立任务只是把原来的playbook中的tasks独立拆分出来而以,还是需要经由main.yml文件调用:

handlers及vars入口文件展示。同样这些文件都可以和task目录一样来编写,确保使用main.yml文件做主的入口调用即可:

四、关于剧本roles和playbook的区别
个人理解:
playbook是在一个yml文件中完成了所有的事情,当一个任务或几个任务很简单就能实现的话就比较方便,类是于一个shell脚本搞定所有事情,缺点就是复用性、可移植性不高
roles就是把playbook里面的任务全部拆解出来,模块化,构成一个框架。这样在较大工程环境下灵活性很好,并且维护起来比较方便。类似于用很多shell脚本创建一个大工程,每个shell脚本都有自己独立的功能。
企业级playbook的使用的更多相关文章
- 企业级自动化运维工具应用实战-ansible
背景 公司计划在年底做一次大型市场促销活动,全面冲刺下交易额,为明年的上市做准备.公司要求各业务组对年底大促做准备,运维部要求所有业务容量进行三倍的扩容,并搭建出多套环境可以共开发和测试人员做测试,运 ...
- 企业级LINUX自动化运维工具Ansible实战课程下载
什么是Ansible? Ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.chef.func.fabric)的优点,实现了批量系统配置.批量程序部署.批量 ...
- Angular企业级开发(5)-项目框架搭建
1.AngularJS Seed项目目录结构 AngularJS官方网站提供了一个angular-phonecat项目,另外一个就是Angular-Seed项目.所以大多数团队会基于Angular-S ...
- 高效而稳定的企业级.NET Office 组件Spire(.NET组件介绍之二)
在项目开发中,尤其是企业的业务系统中,对文档的操作是非常多的,有时几乎给人一种错觉的是”这个系统似乎就是专门操作文档的“.毕竟现在的很多办公中大都是在PC端操作文档等软件,在这些庞大而繁重的业务中,单 ...
- 为什么很多SaaS企业级产品都熬不过第一年
因工作缘由,笔者与周边数位SaaS企业级应用的创始人.运营负责人有过深入接触,发现一个有趣的现象:刚起步时,蓝图远志.规划清晰,但是一路下来,却异常艰难,有些甚至熬不过第一年,就关门歇业. 2015年 ...
- 《Ansible权威指南》笔记(4)——Playbook
七.Playbook1.语法特性如下:(1)"---"首行顶格开始(2)#号注释(3)缩进统一,不同的缩进代表不同的级别,缩进要对齐,空格和tab不能混用(4)区别大小写,键值对k ...
- 记一次企业级爬虫系统升级改造(二):基于AngleSharp实现的抓取服务
爬虫系统升级改造正式启动: 在第一篇文章,博主主要介绍了本次改造的爬虫系统的业务背景与全局规划构思: 未来Support云系统,不仅仅是爬虫系统,是集爬取数据.数据建模处理统计分析.支持全文检索资源库 ...
- 通过arcgis在PostgreSQL中创建企业级地理数据库
部署环境: Win7 64位旗舰版 软件版本: PostgreSQL-9.1.3-2-windows-x64 Postgis-pg91x64-setup-2.0.6-1 Arcgis 10.1 SP1 ...
- .NET应用架构设计—重新认识分层架构(现代企业级应用分层架构核心设计要素)
阅读目录: 1.背景介绍 2.简要回顾下传统三层架构 3.企业级应用分层架构(现代分层架构的基本演变过程) 3.1.服务层中应用契约式设计来解决动态条件不匹配错误(通过契约式设计模式来将问题在线下暴露 ...
随机推荐
- Spring boot入门(三):SpringBoot集成结合AdminLTE(Freemarker),利用generate自动生成代码,利用DataTable和PageHelper进行分页显示
关于SpringBoot和PageHelper,前篇博客已经介绍过Spring boot入门(二):Spring boot集成MySql,Mybatis和PageHelper插件,前篇博客大致讲述了S ...
- ArcPy 拷贝数据库
使用Python脚本进行图形数据库的拷贝. 原始帖子地址:https://www.2cto.com/database/201302/187391.html 整理Python代码: # -*- codi ...
- API测试工具SoapUI & Postman对比分析
本文由葡萄城技术团队于博客园原创并首发 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 最近公司要引入API测试工具,经过调查和了解,最终决定在SoapUI ...
- Android ble蓝牙使用注意
以下均为自己在Android ble开发项目中遇到的问题 1.尽量不要在BluetoothGattCallback里面的回调函数中执行读写通知操作,最多一个,因为例如在onServicesDiscov ...
- Python之函数参数
# -*- coding: utf-8 -*- """ Created on Fri Sep 7 09:13:50 2018 @author: zhen "&q ...
- ORA-02266错误的批量生成脚本解决方案
ORA-02266: unique/primary keys in table referenced by enabled foreign keys这篇博客是很早之前总结的一篇文章,最近导数时使用TR ...
- 《SQL CookBook 》笔记-第三章-多表查询
目录 3.1 叠加两个行集 3.2 合并相关行 3.3 查找两个表中相同的行 3.4 查找只存在于一个表中的数据 3.5 从一个表检索与另一个表不相关的行 3.6 新增连接查询而不影响其他连接查询 3 ...
- SQL Server中将多行数据拼接为一行数据(一个字符串)
表A中id与表B中aid为一对多的关系 例如: 表A: id name a1 tom a2 lily a3 lucy 表B: id aid value b1 a1 B1 b2 a1 B2 b3 a2 ...
- Python基础之注释,算数运算符,变量,输入和格式化输出
Python的注释 注释的作用:用自己熟悉的语言,对某些代码进行标注说明,增强程序的可读性: 在python解释器解释代码的过程中,凡是#右边的,解释器都直接跳过这一行: 注释的分类 单行注释 # 这 ...
- 【心得】Lattice Diamond 后端约束实战小结
[博客导航] [导航]FPGA相关 IOB约束 参考<插入IO寄存器和位置约束---lattice&diamond>,推荐的方法是: 1.在strategy设置[Map Desig ...