Kubernetes支持YAML和JSON格式创建资源对象
JSON格式用于接口之间消息的传递
YAML格式用于配置和管理
YAML的配置参数格式比较清晰
kubectl api-versions

① 创建目录
mkdir demo
② 创建nginx-deployment.yaml文件
cd 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文件创建资源
kubectl create -f nginx-deployment.yaml

④ 查看资源
kubectl get pods

⑤ 发布
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资源(对外提供访问)
kubectl create -f nginx-service.yaml

#查看service资源
kubectl get svc

⑥ 访问

#自动测试命令的正确性,并不执行创建
语法验证,自动测试命令的正确性,并不去执行创建
kubectl run nginx-deployment --image=nginx --port=80 --dry-run

两种方式:
1、新创建(可以使用命令生成模板)
2、基于已有资源生成模板
① 新创建
#查看生成yaml格式
kubectl run nginx-deployment --image=nginx --port=80 --dry-run -o yaml

可通过 -o json 查看该命令产生的 json 配置清单
kubectl run nginx-deployment --image=nginx --port=80 --dry-run -o json

kubectl create deployment dryrun-test --image=nginx --port=80 --replicas=3 --dry-run=client -o yaml > dryrun-test.yaml


kubectl apply -f dryrun-test.yaml
kubectl get pod,deploy

kubectl get deploy/dryrun-test -o yaml
kubectl get deploy/dryrun-test -o yaml > export-test.yaml


explain 可一层层的查看相关资源对象的帮助信息
kubectl explain deployments.spec.template.spec.containers
