文章目录
YAML介绍
YAML是一个类似于XML、JSON的标记语言。强调以数据为中心,并不是以标记语言为中心
yaml
<heima>
<age>15</age>
<address>Beijing</address>
</heima>
yaml
heima:
age: 15
address: Beijing
语法
- 大小写敏感
- 使用缩进表示层级关系
- 缩进不允许使用tab,只允许空格( 低版本限制 )
- 缩进的空格数不重要,只要相同层级的元素左对齐即可
- '#'表示注释,从这个字符一直到行尾,都会被解析器忽略
- 在k8s中,只需要知道lists、maps即可
支持的数据类型
-
纯量:单个的、不可再分的值
# 纯量, 就是指的一个简单的值,字符串、布尔值、整数、浮点数、Null、时间、日期 # 1 布尔类型 c1: true (或者True) # 2 整型 c2: 234 # 3 浮点型 c3: 3.14 # 4 null类型 c4: ~ # 使用~表示null # 5 日期类型 c5: 2018-02-17 # 日期必须使用ISO 8601格式,即yyyy-MM-dd # 6 时间类型 c6: 2018-02-17T15:02:31+08:00 # 时间使用ISO 8601格式,时间和日期之间使用T连接,最后使用+代表时区 # 7 字符串类型 c7: heima # 简单写法,直接写值 , 如果字符串中间有特殊字符,必须使用双引号或者单引号包裹 c8: line1 line2 # 字符串过多的情况可以拆成多行,每一行会被转化成一个空格
-
maps对象:键值对的集合,又称为映射(mapping)/ 哈希(hash) / 字典(dictionary)
# 对象 # 形式一(推荐): heima: age: 15 address: Beijing # 形式二(了解): heima: {age: 15,address: Beijing}
-
数组:一组按次序排列的值,又称为序列(sequence) / 列表(list)
# 数组 # 形式一(推荐): address: - 顺义 - 昌平 # 形式二(了解): address: [顺义,昌平] spec: containers: - name: front-end image: nginx ports: - containerPort: 80 - name: flaskapp-demo image: jcdemo/flaskapp ports: 8080 ------------------------------------------------ "spec": { "containers": [{ "name": "front-end", "image": "nginx", "ports": [{ "containerPort": "80" }] }, { "name": "flaskapp-demo", "image": "jcdemo/flaskapp", "ports": [{ "containerPort": "5000" }] }] }
注意事项
- 书写yaml切记
:
后面要加一个空格 - 如果需要将多段yaml配置放在一个文件中,中间要使用
---
分隔