在实际部署中都用yaml进行操作
1、YAML 文件概述
k8s集群中对资源管理和资源对象编排部署都可以通过声明样式(YAML)文件来解决,也就是可以把需要对资源对象操作编辑到YAML格式文件中,我们把这种文件叫做资源清单文件或者叫资源编排,通过kubectl命令直接使用资源清单文件就可以实现对大量的资源对象进行编排部署了。。
2、YAML 文件书写格式
(1) YAML介绍。
YAML :仍是一种标记语言。为了强调这种语言以数据做为中心,而不是以标记语言为重点。YAML是一个可读性高,用来表达数据序列的格式。。
最大特点:缩进,以缩进来表示层级关系
(2) YAML基本语法
*使用空格做为缩进。
*缩进的空格数目不重要,只要相同层级的元素左侧对齐即可。
*低版本缩进时不允许使用Tab键,只允许使用空格。,一般开头缩进2个空格 ,字符后面缩进一个空格如: ? 等等
*使用 #标识注释,从这个字符一直到行尾, 都会被解释器忽略。
*- - -表示新的一个yum文件的开始
组成部分,及常用的字段
- 组成部分:控制器,一般都在template前面
# 控制器定义
apiVersion: apps/v1 #api的版本
kind: Deployment #资源类型
metadata: #资源的源数据,即那个命名空间
name: nginx-deployment
namespace: default
spec: #相关规格,那些副本,用那些选择器
replicas: 3
selector:
matchl abels:
app: nginx
- 组成部分:被控制的对象
template:
metadata: #pod模板
labels:
app: nginx
spec:
containers: #容器的配置
- name: nginx
image: nginx:latest
ports:
- containerPort: 80
yaml编写方式
一般通过生成的方式快速做到
快速编写yaml文件 - - -生成yaml的两种方式
1.当资源尚未部署时:使用kubectl create 来生成yaml文件,而不执行,然后自己修改。
//- -dly -run表示尝试运行,即不执行,只生产yaml文件
//- -dly -run之前的表示创建一个资源名为web的deployment
2.当资源已经部署时:使用kubectl get命令导出yaml文件
//nginx为资源名