YAML:
YAML(Yet Another Markup Language)语言(发音/'jaemal/ )是一个类似XML、JSON的标记性语言。YAML强调以数据为中心,并不是以标识语言为重点。因而YAML本身的定义比较简单,号称“一种人性化的数据格式语言”。目的就是方便人类读写。它实质上是一种通用的数据串行化格式
我们可以使用YAML编写配置i文件,而ansible的清单 也支持YAML的语法,所以我们可以使用YAML语法编写清单,从而管理受管主机
yaml配置ansible清单
示例一
vim /etc/ansible/hosts
all:
hosts:
172.25.254.20:
172.25.254.30:
#上例相当于如下INI配置
172.25.254.20.
172.25.254.30
示例二
INI
172.25.254.40
[test1]
172.25.254.20
[test2]
172.25.254.30
#上述配表示当前清单中有3台受管主机,主机4不属于任何组,主机2属于test1组,主机3属于test2组
使用YAML语法进行同等效果的配置如下
all:
hosts:
172.25.254.40:
children:
test1:
hosts:
172.25.254.20
test2:
hosts:
172.25.254.30:
示例三
INI
[proA]
172.25.254.20
[proB]
172.25.254.30
[pro:children]
proA
proB
对应YAML格式的配置如下
all:
children:
pro:
children:
proA:
hosts:
172.25.254.20:
proB:
hosts:
172.25.254.30:
示例四
使用别名的方式配受管主机
INI各式的示例如下
172.25.254.20
172.25.254.30
server3 ansible host= 172.25.254.40
同等效果的YAML语法配如下
all:
hosts:
172.25.254.20:
172.25.254.30:
servera:
ansible_ host: 172.25.254.40
总结:
yaml配置清单格式多为:下一级与上一级会有两个空格差