企业级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.服务层中应用契约式设计来解决动态条件不匹配错误(通过契约式设计模式来将问题在线下暴露 ...
随机推荐
- 设置input中placeholder的样式(placeholder设置字体)
方法: 代码示例: .input::-webkit-input-placeholder { font-size: 3.73333333vw; color: #cccccc; } .input:-moz ...
- Dynamics 365-关于Solution的那些事(一)
关于CRM Solution,我准备写两到三篇的博客来做下介绍:包括一些基本信息,超大solution,还有增量更新solution操作等. CRM中的component,都是放在一个名叫Soluti ...
- 用npm安装git上的项目
直接通过 git 上项目的地址进行安装npm install git+https://github.com/sunxiaochuan/koatest.git 地址获取如下图:
- Github入门详情教程
前言 之前我写了一篇文章<一篇文章了解Github和Git教程>还延伸了几篇阅读,对大部分小白很有用,那么我继续普及下Github页面及其概念. 定义 GitHub 是一个网站,一个面向开 ...
- 字符串按照Z旋转90度然后上下翻转的字形按行输出字符串--ZigZag Conversion
The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows like ...
- 设置MYSQL数据库编码为UTF-8
设置MYSQL数据库编码为UTF-8 1. 编辑MySql的配置文件 MySql的配置文件Windows下一般在系统目录下或者在MySql的安装目录下名字叫my.ini,可以搜索,Linux下一 ...
- SQL MIN() 函数
MIN() 函数 MIN 函数返回一列中的最小值.NULL 值不包括在计算中. SQL MIN() 语法 SELECT MIN(column_name) FROM table_name 注释:MIN ...
- docker 数据卷和docker数据卷容器以及数据卷的备份和还原
一:数据卷 1.什么是数据卷 数据卷是通过特殊设计的目录,可以绕过联合文件系统,为一个或者多个容器提供服务,数据卷是在docker宿主机当中,数据卷可以是文件也可以是文件夹. 2.特点 1.数据卷在容 ...
- windows部署jenkins持续集成maven测试项目不能访问测试报告
买了一台阿里云的服务器用于练习maven test项目,系统版本wiondows server 2012,将jenkins war包部署在Tomcat服务器上,项目构建后,生成的报告在C:\Windo ...
- CodeBlocks卸载后重装 编译c文件提示错误信息“No such file or directory”
编译最简单的helloworld程序,提示第一行#include<stdio.h> 找不到头文件. 解决方法: 再次卸载CodeBlocks后,将之前的配置文件删除. 路径:C:\User ...