当前位置: 首页 > news >正文

网站ip pv海外网络推广平台

网站ip pv,海外网络推广平台,企业网站建设费用入哪个科目,如何与其他网站做友情链接目录 1 playbook介绍 2 YAML语言 2.1语法简介 2.2数据类型 3 Playbook核心组件 3.1 hosts组件 3.2 remote_user组件 3.3 task列表和action组件 3.4 handlers 3.5 tags组件 3.6 其他组件说明 1 playbook介绍 playbook 剧本是由一个或多个"play"组成的列表。…

目录

1 playbook介绍

2 YAML语言

2.1语法简介

2.2数据类型

3 Playbook核心组件

3.1 hosts组件

3.2 remote_user组件

3.3 task列表和action组件

3.4 handlers

3.5 tags组件

3.6 其他组件说明


1 playbook介绍

        playbook 剧本是由一个或多个"play"组成的列表。

        play的主要功能在于将预定义的一组主机,装扮成事先通过ansible中的task定义好的角色。Task实际是调用ansible的一个module,将多个play组织在一个playbook中,即可以让它们联合起来,按事先编排的机制执行预定义的动作。

        playbook文件时采用YAML语言编写的。

2 YAML语言

2.1语法简介
  • 在单一文件第一行,用连续三个连字号"“"开始,还有选择性的连续三个点号(.. )用来表示文件的结尾
  • 次行开始正常写Playbook的内容,一般建议写明该Playbook的功能使用#号注释代码
  • 缩进必须是统一的,不能空格和tab混用
  • 缩进的级别也必须是一致的,同样的缩进代表同样的级别,程序判别配置的级别是通过缩进结合换行来实现的
  • YAML文件内容是区别大小写的,key/value的值均需大小写敏感
  • 多个key/value可同行写也可换行写,同行使用,分隔
  • key后面冒号要加一个空格 比如: key: value
  • value可是个字符串,也可是另一个列表YAML文件扩展名通常为 yml或 yaml
2.2数据类型

YAML支持一下常用几种数据类型:

  • 标量:单个的、不可再分的值
  • 对象:键值对的集合,又称为映射(mapping)/哈希(hashes)/字典(dictionary)
  • 数组:一组按次序排列的值,又称为序列(sequence)/列表(list)

3 Playbook核心组件

一个playbook 中由多个组件组成,其中所用到的常见组件类型如下:

  • Hosts 执行的远程主机列表
  • Tasks 任务集,由多个task的元素组成的列表实现,每个task是一个字典,一个完整的代码块功能需最少元素需包括 name和 task,一个name只能包括一个task
  • Variables 内置变量或自定义变量在playbook中调用
  • Templates 模板,可替换模板文件中的变量并实现一些简单逻辑的文件
  • Handlers 和 notify结合使用,由特定条件触发的操作,满足条件方才执行,否则不执行
  • tags 标签 指定某条任务执行,用于选择运行playbook中的部分代码。ansible具有幕等性,因此会自动跳过没有变化的部分,即便如此,有些代码为测试其确实没有发生变化的时间依然会非常地长。此时,如果确信其没有变化,就可以通过tags跳过此些代码片断
3.1 hosts组件

        Hosts:playbook中的每一个play的目的都是为了让特定主机以某个指定的用户身份执行任务。hosts用于指定要执行指定任务的主机,须事先定义在主机清单中。

3.2 remote_user组件

        remote_user: 可用于Host和task中。也可以通过指定其通过sudo的方式在远程主机上执行任务,其可用于play全局或某任务;此外,甚至可以在sudo时使用sudo_user指定sudo时切换的用户

3.3 task列表和action组件

        play的主体部分是task list,task list中有一个或多个task,各个task 按次序逐个在hosts中指定的所有主机上执行,即在所有主机上完成第一个task后,再开始第二个tasktask的目的是使用指定的参数执行模块,而在模块参数中可以使用变量。模块执行是幂等的,这意味着多次执行是安全的,因为其结果均一致。

        每个task都应该有其name,用于playbook的执行结果输出,建议其内容能清晰地描述任务执行步骤。如果未提供name,则action的结果将用于输出。

忽略ignore_errors:

        如果一个task出错,默认将不会继续执行后续的其它task。

        利用 ignore_errors: yes 可以忽略此task的错误,继续向下执行playbook其它task。

task两种格式:

        action:module arguments  #示例: action: shell wall hello

        module:arguments  #建议使用  #示例: shell: wall hello

注意:shell和command模块后跟命令,而非key=value。

3.4 handlers

handlers和notify结合使用触发条件

        Handlers 实际上就是一个触发器是task列表,这些task与前述的task并没有本质上的不同,用于当关注的资源发生变化时,才会采取一定的操作

notify此action可用于在每个play的最后被触发

        这样可避免多次有改变发生时每次都执行指定的操作,仅在所有的变化发生完成后一次性地执行指定操作。

        在notify中列出的操作称为handler,也即notify中调用handler中定义的操作。

        在系统中,我们修改了服务器的配置文件,这时候就需要重启操作服务,就可以使用到handlers。配合 notify使用。

在使用handlers的过程中,有以下几点需要注意

  • handlers只有在其所在的任务被执行时,都会被运行;
  • handlers只会在Play的末尾运行一次;如果想在一个Playbook的中间运行handlers,则需要使用meta模块来实现,例如:- meta: flush_handlers。
  • 如果一个Play在运行到调用handlers的语句之前失败了,那么这个handlers将不会被执行。我们可以使用mega模块的–force-handlers选项来强制执行handlers,即使在handlers所在Play中途运行失败也能执行。
3.5 tags组件

        在playbook文件中,可以利用tags组件,为特定task指定标签,当在执行playbook时,可以只执行特定tags的task,而非整个playbook文件。

        可以一个task对应多个tag,也可以多个task对应一个tag。

        还有另外3个特殊关键字用于标签, tagged , untagged 和 all ,它们分别是仅运行已标记,只有未标记和所有任务。

3.6 其他组件说明

        某任务的状态在运行后为changed时,可通过"notify"通知给相应的handlers任务还可以通过"tags"给task 打标签,可在ansible-playbook命令上使用 -t 指定进行调用。

http://www.yidumall.com/news/13769.html

相关文章:

  • 省品牌建设联合会网站北京seo供应商
  • 一个做网站的团队需要哪些电商推广平台有哪些
  • 无锡网站维护公司百度小说
  • 酒店网站建设的基本内容如何做网站 新手 个人 教程
  • 任务平台网站建设营销的方法和技巧
  • asp.net网站管理系统网站运营工作内容
  • php 网站响应时间电商数据查询平台
  • 广州网站建设公司排行seo检测
  • 网站服务器不稳定怎么办广告推广方案怎么写
  • 内网网站建设所需硬件设备廊坊百度快照优化哪家服务好
  • 深圳网站建设公司排行榜墨子学院seo
  • 乐从建网站人大常委会委员长
  • 网站前后台套装模板阿里云盘资源搜索引擎
  • 商店网站在线设计北京搜索引擎关键词优化
  • 高端的网站名称app开发公司排名
  • 海兴县网站建设价格常见的网络直接营销有哪些
  • 张家界建设局网站网站建设首页
  • 做网站 空间世界营销大师排名
  • 重庆点优建设网站公司吗环球资源网官方网站
  • 温州市名城建设集团有限公司网站企业站seo
  • 可做设计任务的网站哈尔滨seo网络推广
  • 企业型网站互联网营销的特点
  • 网站建设优秀网站建设外贸谷歌推广怎么样
  • 越辉网站建设搜索推广广告
  • 南昌网站建设公务网站提交入口百度
  • 招聘门户网站有哪些人员优化是什么意思
  • 福州软件网站开发培训班网络营销官网
  • 室内设计动态效果图制作昭通网站seo
  • WordPress重力表单注册北京seo服务行者
  • 微网站开发工具有哪些网络推广平台有哪些