5.1 编写YAML注意事项
YAML 是一种简洁的非标记语言。
语法格式:
-
缩进表示层级关系
-
不支持制表符“tab”缩进,使用空格缩进
-
通常开头缩进 2 个空格
-
字符后缩进 1 个空格,如冒号、逗号等
-
“---” 表示YAML格式,一个文件的开始
-
“#”注释
5.2 YAML内容解析
在K8S部署一个应用的YAML内容大致分为两部分:
控制器定义:定义控制器属性
被控制对象:Pod模板,定义容器属性
具体字段意义:
apiVersion | API版本 |
---|---|
kind | 资源类型 |
metadata | 资源元数据 |
spec | 资源规格 |
replicas | 副本数量 |
selector | 标签选择器 |
template | Pod模板 |
metadata | Pod元数据 |
spec | Pod规格 |
containers | 容器配置 |
5.3 资源字段太多,记不住怎么办?
很多同学YAML不会写!主要原因还是用的少,里面都是由于各个资源组成,熟悉了每个资源应用,自然就会写了,但也不用等到熟悉各种资源,这里教你几个技巧,帮助快速上手。
-
用run命令生成部署模板
kubectl create deployment nginx --image=nginx:1.14 -o yaml --dry-run > my-deploy.yaml
-
用get命令将已有部署的应用yaml导出
kubectl get deployment/nginx -o yaml --export > my-deploy.yaml
添加--export参数可以得到比较简洁的yaml文件。
-
如果某个字段单词不记得了,可以通过explain查看更详细的帮助文档获得