概述
使用YAML文件创建资源
1、查看资源版本标签
2、创建yaml文件测试
3、生成yaml格式
概述
Kubernetes支持YAML和JSON格式创建资源对象
JSON格式用于接口之间消息的传递(适合二次开发)
YAML格式用于配置和管理(适合运维)
YAML是一种简洁的非标记性语言,语法格式:
使用缩进标识层级关系
不支持制表符tab缩进,使用空格缩进(相同层级的元素要左对齐)
通常开头缩进两个空格
字符后缩进一个空格(如冒号、逗号、短横杠等)
“—”表示YAML格式,一个文件的开始
“#”表示注释
如果包含特殊字符用单引号引起来
布尔值必须用引号括起来
使用YAML文件创建资源
1、查看资源版本标签
在写yaml文件中第一个就要先写版本标签
# kubectl api-versions
2、创建yaml文件测试
① 创建目录
[root@master01 ~]# mkdir demo
1
② 创建nginx-deployment.yaml文件
[root@master01 ~]# cd demo/
[root@master01 demo]# vim nginx-deployment.yaml
#定义资源类型及描述 apiVersion: apps/v1 # apiVersion:语法关键字,注意大小写。apps/v1:版本标签 kind: Deployment #资源类型:deployment控制器 metadata: #资源的元数据 name: nginx-deployment #定义资源的名称,在同一个namespace中必须唯一 labels: #定义资源的标签 app: nginx spec: #定义容器模板 replicas: 3 #定义副本数量 selector: #选择器 matchLabels: #匹配标签 app: nginx #匹配模板名称 template: #模板 metadata: labels: app: nginx spec: containers: #定义容器信息 - name: nginx #-:表示参数,容器名与标签名要相同 image: nginx:1.15.4 #容器使用的镜像以及版本 ports: - containerPort: 80 #定义容器的对外端口
③ 使用yaml文件创建资源
[root@master01 demo]# kubectl create -f nginx-deployment.yaml
1
③ 查看资源
[root@master01 demo]# kubectl get pods
④ 发布
#创建ginx-service.yaml文件
[root@master01 demo]# vim nginx-service.yaml
apiVersion: v1 #定义版本 kind: Service #类型 metadata: #信息描述 name: nginx-service #资源名称 labels: #标签 app: nginx spec: type: NodePort #发布的类型:NodePort ports: - port: 80 #内部端口 targetPort: 80 #映射指向的端口 selector: #选择器 app: nginx
#使用ginx-service.yaml文件创建service资源(对外提供访问)
[root@master01 demo]# kubectl create -f nginx-service.yaml
#查看service资源
[root@master01 demo]# kubectl get svc
⑤ 访问
#自动测试命令的正确性,并不执行创建
语法验证,自动测试命令的正确性,并不去执行创建
[root@master01 demo]# kubectl run nginx-deployment --image=nginx --port=80 --replicas=3 --dry-run
3、生成yaml格式,两种方式:
1、新创建(可以使用命令生成模板)
2、基于已有资源生成模板
① 新创建
#查看生成yaml格式
[root@master01 demo]# kubectl run nginx-deployment --image=nginx --port=80 --replicas=3 --dry-run -o yaml
#将模板导出并命名为my-deployment.yaml
可以将生成的模板进行更改使用
[root@master01 demo]# kubectl run nginx-deployment --image=nginx --port=80 --replicas=3 --dry-run -o yaml > my-deployment.yaml
② 基于已有资源生成模板
#将现有的资源生成模板并导出命名为test-nginx.yaml
[root@master01 demo]# kubectl get deploy/nginx --export -o yaml > test-nginx.yaml
#查看生成json格式
[root@master01 demo]# kubectl run nginx-deployment --image=nginx --port=80 --replicas=3 --dry-run -o json
1
③ 查看某字段帮助信息:explain
例如:查看containers的帮助信息
[root@master01 demo]# kubectl explain pods.spec.containers
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)