第一步:生成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
Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐