YAML文件格式说明

K8s是一个容器编排引擎,使用YAML文件编排要部署应用,因此在学习之前,应先了解YAML语法格式:

  • 缩进表示层级关系

  • 不支持制表符“tab”缩进,使用空格缩进

  • 通常开头缩进 2 个空格

  • 字符后缩进 1 个空格,如冒号、逗号等

  • “—” 表示YAML格式,一个文件的开始

  • “#”注释

YAML文件创建资源对象

等同于:kubectl create deployment web --image=lizhenliang/java-demo -n default

apiVersion: apps/v1
kind: Deployment
metadata:
name: web
namespace: default
spec:
replicas: 3
selector:
matchLabels:
app: web
template:
metadata:
labels:
app: web
spec:
containers:
- name: web
image: lizhenliang/java-demo

等同于:kubectl expose deployment web --port=80 --target-port=8080 --type=NodePort -n default

apiVersion: v1
kind: Service
metadata:
name: web
namespace: default
spec:
ports:
- port: 80
protocol: TCP
targetPort: 8080
selector:
app: web
type: NodePort

将你需要创建的资源描述到YAML文件中。

部署:kubectl apply -f xxx.yaml

卸载:kubectl delete -f xxx.yaml

资源字段太多,记不住怎么办

用create命令生成

kubectl create deployment nginx --image=nginx:1.16 -o yaml --dry-run=client > my-deploy.yaml

用get命令导出

kubectl get deployment nginx -o yaml > my-deploy.yaml

Pod容器的字段拼写忘记了

kubectl explain pods.spec.containers 
kubectl explain deployment