一、YAMY是什么
YAMY是一个可读性搞,用来表达数据序列化的格式。
YAML是"YAML Ain’t a Markup Language"(YAML不是一种标记语言)的递归缩写。
文件后缀:.yaml或者.yml
可以转换成JSON或XML格式
1.1 YAML语法格式
大小写敏感
使用缩进表示层级关系
不支持Tab键制表符缩进,只使用空格缩进
缩进的空格数日不重要,只要相同层级的元素左侧对齐即可,通常开头缩进两个空格
符号字符后缩进一个空格,如冒号,逗号,短横杆(-)等
w—”表示YAML格式,一个文件的开始,用于分隔文件间
“#”表示注释
1.2 基本数据类型
纯量:纯量是最基本的,不可再分的值,包括:字符串、布尔值、整数、浮点数、Null、时间、日期
数组:以 - 开头的行表示构成一个数组, 一组按次序排列的值,又称为序列(sequence) / 列表(list)
对象:键值对的集合,又称为映射(mapping)/哈希(hashes)/字典(dictionary)
--- xxx xxx xxx --- mmm mmmm mmmm --- ssss sss sssss
每个—代表一个文件,从上而下顺序执行
docker-compose不支持—,Ansible剧本中只支持一个—,k8s中支持多个—,单个—可以省略
1.3 YAML 序列
YAML 序列是一个列表。在其最简单的形式中,每行有一个项目,每行以破折号和空格开始
--- - linux - macos - Windows
1.4 YAML 映射
--- centos: linux CPU: AMD RAM: '16GB'
1.5 序列的映射
linux: - centos - redhat Windows: - w7 - w10
linux是第一个键,他的值是一个序列,包含centos和redhat;Windows是第二个键,我的值是一个序列,包含w7和w10
1.6 映射的映射
linux: centos: 7 redhat: 8 Windows: w7: 10.1 w10: 12.2
1.7 序列的序列
- [centos,redhat] - [w7,w10]
1.8 映射的序列
- linux: centos - RAM: '16GB'