1 yaml介绍
1.1 yaml 文件概述
k8s集群中对资源管理和资源对象编排部署都可以通过声明样式(yaml)文件来解决,也就是可以把需要对资源对象操作编辑到的yaml格式文件中,我们把这种文件叫做资源清单文件,通过kubectl命令直接使用资源清单文件,通过kubectl命令直接使用资源清单文件就可以实现对大量的资源对象进行编排部署了。
1.2 yaml文件书写格式
(1)yaml介绍
- yaml:仍是一种标记语言。为了强调这种语言以数据作为中心,而不是以标记语言为重点。
- yaml是一个可读性高,用来表达数据序列的格式。
(2)yaml基本语法
- 使用空格作为缩进
- 缩进的空格数据不重要,只要相同层级的元素左侧对齐即可。
1.3 yaml实例
查看k8s版本
kubectl api-versions
查看资源类型
kubectl api-resources
apiVersion: apps/v1 # API版本
kind: Deployment # 资源类型
metedata: # 资源元数据
name:nginx-deployment
namespace: default
spec: # 资源规格
replicas: 3 # 副本数量
selector: # 标签选择器
matchLabels:
app: nginx
template: # Pod模板
metadata: # Pod元数据
labels:
app: nginx
spec: # Pod规格
containers: # 容器配置
- name: nginx
image: nginx:latest
port:
- containerPort: 80
apiVersion
:API版本kind
:资源类型metadata
:资源元数据spec
:资源规格replicas
:副本数量selector
:标签选择器template
:Pod模板metadata
:Pod元数据spec
:Pod规格容器配置
:容器配置
2 yaml文件快速编写
2.1 kubectl create
命令生成
资源未部署,可以使用
1、创建资源 my-nginx
kubectl create deployment my-nginx
2、将创建my-nginx资源过程用yaml生成
基于上一步
kubectl create deployment my-nginx --image=nginx -o yaml
3、尝试运行,但并不真运行
基于上一步
kubectl create deployment my-nginx --image=nginx -o yaml --dry-run
3、生成yaml,并保存到文件
基于上一步
kubectl create deployment my-nginx --image=nginx -o yaml --dry-run > my-nginx.yaml
然后根据实际,修改里面的内容![
2.2 kubectl get
命令到处yaml文件
适用于:项目已经部署,对原有yaml修改
查看
kubectl get deploy
将nginx相关内容,以yaml文件形式导出
kubectl get deploy nginx -o=yaml --export > my-nginx02.yaml
已知:1.20已经不支持:--export
,故直接 > 导出即可
kubectl get deploy nginx -o=yaml --export > my-nginx02.yaml
其他方法:
直接rancher平台,web生成