准备工作
docker pull lizhenliang/java-demo
docker save -o jave.tar lizhenliang/java-demo:latest
docker load -i java.tar
docker images
创建pod
kubectl create deployment web --image=lizhenliang/java-demo
发布service
kubectl expose deployment web --port=80 --type=NodePort --target-port=8080 --name=web
–port : clusterIP 提供服务的端口
–type: 对外暴露服务的类型
–target-port: 容器提供服务的端口
生成yaml文件
kubectl create deployment nginx --image=nginx:1.16 -o yaml --dry-run=client > my-deploy.yaml
Deployment 控制器详解:
apiVersion: apps/v1
kind: Deployment
metadata:
name: web
spec:
replicas: 1
selector:
matchLabels:
app: web #要严格与template中labels一致
template:
metadata:
labels:
app: web #要严格与selector中labels一致
spec:
containers:
- image: nginx:1.16
name: nginx
滚动升级3种方式:
kubectl apply -f xxx.yaml
kubectl set image deployment/web nginx=nginx:1.16
kubectl edit deployment/web
水平扩容2种方式:
1. 修改yaml文件, 执行kubectl apply -f xxx.yaml
2. kubectl scale deployment web --replicas=10
删除
kubectl delete -f xxx.yaml
kubectl delete deployment /svc
quote:
本文引用了学习老师lizhenliang的镜像, 从李老师的培训中收获颇多,谢谢。