第一步:生成yaml文件
kubectl create deployment web --image=nginx --dry-run -o=yaml > web.yaml
第二步:运行yaml文件:
kubectl apply -f web.yaml
network: open /run/flannel/subnet.env: no such file or directory
查看master和node节点是否有该文件
其内容是:
FLANNEL_NETWORK=10.244.0.0/16
FLANNEL_SUBNET=10.10.0.1/24
FLANNEL_MTU=1450
FLANNEL_IPMASQ=true
第三步,对外发布应用
1)生成yaml文件
kubectl expose deployment web --port=80 --type=NodePort --target-port=80 -o=yaml --name=web1 >web1.yaml
2)执行yaml文件
kubectl apply -f web1.yaml
3)查看执行结果
kubectl get pod,svc
应用升级:
nginx 1.14升级到1.15
kubectl set image deployment web nginx=nginx:1.15
查看应用升级是否成功
[root@master ~]# kubectl rollout status deployment web
deployment "web" successfully rolled out
应用回滚:
查看历史版本:
[root@master ~]# kubectl rollout history deployment web
deployment.apps/web
REVISION CHANGE-CAUSE
1 <none>
2 <none>
回滚到上一个版本:
[root@master ~]# kubectl rollout undo deployment web
deployment.apps/web rolled back
回滚到指定版本:
[root@master ~]# kubectl rollout undo deployment --to-revision=2
deployment.apps/web rolled back
弹性伸缩:
scale deployment web --replicas=5
deployment.apps/web scaled