企业级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.服务层中应用契约式设计来解决动态条件不匹配错误(通过契约式设计模式来将问题在线下暴露 ...
随机推荐
- Linux安装配置Mariadb
一.安装数据库Mariadb 参考:http://blog.51cto.com/12173069/2047746 从最新版本的linux系统开始,默认的是 Mariadb而不是mysql! 使用系统自 ...
- 手把手教新手小白在window把自己的项目上传到github
作为一个开发者,写博客,上传项目到github好像是不可不会的技能,很多有经验的老司机都会这么建议你.本宝宝第一次要把项目传到github的时候,确实有点蒙蔽,什么鬼,传个东西有必要这么难吗? git ...
- 卸载windows补丁
wusa /uninstall /kb: wusa /uninstall /kb: 和某些应用软件冲突时,需要将上述补丁卸载.
- rabbitmq之确保消息不丢失
1.背景引入 在使用消息中间件(rabbitmq)时,令开发者最头痛的就是防止消息丢失问题,而消息丢失可能发生的位置主要为三种,分别为(1)消息发送到MQ中消费者消费未成功时突然宕机:(2)消息发送到 ...
- qt5.11.2+vs2017环境下opencv3.4.1编译配置
OpenCV是一个开源的计算机库,它可以帮助视觉工作者做很多富有创造性的工作,在图像处理领域扮演着重要的角色.由于opencv3.x的存在,不管你是学生还是研究人员,是专家还是初学者,都可以快速的建立 ...
- python学习笔记2_条件循环和其他语句
一.条件循环和其他语句 1.print和import的更多信息. 1.1.使用逗号输出 //print() 打印多个表达式是可行的,用逗号隔开. 在脚本中,两个print语句想在一行输出 ...
- 什么是 CI/CD?
什么是 CI/CD? 在软件开发中经常会提到持续集成Continuous Integration(CI)和持续交付Continuous Delivery(CD)这几个术语.但它们真正的意思是什么呢? ...
- java中的超类是什么
超类(SuperClass) :用java术语来讲,被继承的类称为超类(SuperClass),也有叫做父类,继承的类称为子类.
- Apache Jakarta Commons 工具集简介
Apache Jakarta Commons 工具集简介[转] Apache Commons包含了很多开源的工具,用于解决平时编程经常会遇到的问题,减少重复劳动.我选了一些比较常用的项目做简单介绍.文 ...
- 《JavaScript设计模式与开发实践》笔记第八章 发布-订阅模式
第八章 发布-订阅模式 发布-订阅模式描述 发布-订阅模式又叫观察者模式,它定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都将得到通知. 发布-订阅模式可以广泛应用于 ...