1、YAML 文件概述
k8s 集群中对资源管理和资源对象编排部署都可以通过声明样式(YAML)文件来解决,也
就是可以把需要对资源对象操作编辑到 YAML 格式文件中,我们把这种文件叫做资源清单文
件,通过 kubectl 命令直接使用资源清单文件就可以实现对大量的资源对象进行编排部署
了。
2、YAML 文件书写格式
(1)YAML 介绍
YAML :仍是一种标记语言。为了强调这种语言以数据做为中心,而不是以标记语言为重点。
YAML 是一个可读性高,用来表达数据序列的格式。
(2)YAML 基本语法
- 使用空格做为缩进
- 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
*一般开通缩进两个空格
*字符后缩进一个空格,比如冒号,逗号等后面
*使用---表示新的yaml文件的开始- 低版本缩进时不允许使用 Tab 键,只允许使用空格
- 使用#标识注释,从这个字符一直到行尾,都会被解释器忽略
举例:
#获取yml文件的apiVersion参数
kubectl api-versions
#获取yml文件的kind参数
kubectl api-resources
apiVersion: apps/v1 <!--API版本-->
kind: Deployment <!--资源类型-->
metadata: <!--资源元数据-->
name: nginx-deployment
spec: <!--资源规格-->
replicas:3 <!--副本数量-->
selector: <!--标签选择器-->
matchLabels:
app:nginx
template: <!--Pod模板-->
metadata: <!--Pod元数据-->
labels:
app: nginx
template:
metadata:
labels:
app: nginx
spec: <!--Pod规格-->
containers: <!--容量配置-->
- name: nginx
image: nginx:1.15
ports:
- containerPort: 80
3.如何快速编写yaml文件
第一种 使用kubectl create 命令生成yaml文件
#生成yaml文件模板,文件名为my1.yaml
kubectl create deployment web --image=nginx -o yaml --dry-run >my1.yaml
vim my1.yaml
第二种 使用kubectl get 命令导出yaml文件
kubectl get deploy
kubectl get deploy nginx -o=yaml --export >my2.yaml
vim my2.yaml