注:YAML可以被看作是一种文本文件的语法规范,k8s中几乎所有的资源都可以通YAML语法来创建。
1、YAML的语法特点
YAML 语法使用缩进表示层级关系,缩进不允许使用tab键,只允许使用空格,空格数量没有严格要求,只要相同层级左对齐即可
YAML 语法使用键值对的形式来表示数据,键和值之间使用英文冒号分隔,例如
key: valueYAML 支持注释,以
#开头表示注释,注释内容不会被YAML解析(被忽略)如果需要将不同YAML配置放在同一个文件中,中间需要用
---作为分隔通过使用
.yml或.yaml后缀名,可以清楚地标识该文件采用 YAML 格式编写
2、YAML常用语法结构
对象结构:使用键值对的形式表示语法结构,其中键和值之间使用冒号分隔,例如:
#对象形式一(推荐)
users:
name: zhangsan
age: 30
address: tianjin
#对象形式二(了解)
user: {name: zhangsan,age: 30,address: tianjin}如果需要将多个不同配置放在同一个文件中,中间需要用 --- 作为分隔,例如:
users:
name: zhangsan
age: 30
address: tianjin
---
users:
name: lisi
age: 25
address: tianjin列表结构:使用短横线 - 开头表示列表结构,在一个列表中,一个属性的多种配置都属于一个列表
email:
- zhangsan@qq.com
- zhangsan@163.com嵌套结构:YAML支持将对象和列表嵌套在其他对象或列表中,以构建复杂的结构。
users:
- name: zhangsan
age: 30
address: tianjin
email:
- zhangsan@qq.com
- zhangsan@163.com
- name: lisi
age: 25
address: tianjin
email:
- lisi@qq.com
- lisi@163.com3、YAML文件创建资源
案例:通过yaml文件创建一个test名称空间
参考地址:https://kubernetes.io/zh-cn/docs/tasks/administer-cluster/namespaces/
资源文档查询方法:kubect explain 资源名称
cat ns-test.yml
apiVersion: v1
kind: Namespace
metadata:
name: test#执行文件创建ns
kubectl create -f ns-test.yml
#查看ns信息
kubectl get ns
#通过yaml文件删除ns
kubectl delete -f ns-test.yml
评论区