Ansible-Playbook介绍

image

1:Playbook介绍

playbook 剧本是由一个或多个“play”组成的列表
play的主要功能在于将预定义的一组主机,装扮成事先通过ansible中的task定义好的角色。
Task实际是调用ansible的一个module,将多个play组织在一个playbook中,即可以让它们联合起来,按事先编排的机制执行预定义的动作
Playbook 文件是采用YAML语言编写的

2:Yaml介绍

YAML是一个可读性高的用来表达资料序列的格式。YAML参考了其他多种语言,包括:XML、C语言、Python、Perl以及电子邮件格式RFC2822等。Clark Evans在2001年在首次发表了这种语言,另外Ingy döt Net与Oren Ben-Kiki也是这语言的共同设计者,目前很多软件中采有此格式的文件,如:ubuntu,anisble,docker,k8s等
YAML:YAML Ain’t Markup Language,即YAML不是XML。不过,在开发的这种语言时,YAML的意思其实是:"Yet Another Markup Language"(仍是一种标记语言)

YAML 官方网站:http://www.yaml.org

2.1:yaml语言的特性

1:YAML的可读性好
2:YAML和脚本语言的交互性好
3:YAML使用实现语言的数据类型
4:YAML有一个一致的信息模型
5:YAML易于实现
6:YAML可以基于流来处理
7:YAML表达能力强,扩展性好

2.2:YAML语法简介

1:在单一文件第一行,用连续三个连字号“-” 开始,还有选择性的连续三个点号( … )用来表示文件的结尾
2:次行开始正常写Playbook的内容,一般建议写明该Playbook的功能
3:使用#号注释代码
4:缩进必须是统一的,不能空格和tab混用
5:缩进的级别也必须是一致的,同样的缩进代表同样的级别,程序判别配置的级别是通过缩进结合换行来实现的
6:YAML文件内容是区别大小写的,key/value的值均需大小写敏感
7:多个key/value可同行写也可换行写,同行使用,分隔
8:v可是个字符串,也可是另一个列表
9:一个完整的代码块功能需最少元素需包括 name 和 task
10:一个name只能包括一个task
11:YAML文件扩展名通常为yml或yaml
YAML的语法和其他高阶语言类似,并且可以简单表达清单、散列表、标量等数据结构。其结构(Structure)通过空格来展示,序列(Sequence)里的项用"-"来代表,Map里的键值对用":"分隔,下面介绍常见的数据结构。
posted @ 2022-07-08 11:43  Layzer  阅读(49)  评论(0编辑  收藏  举报