Kubernetes集群的基础操作

实验环境:成功使用Kubeadm部署Kubernetes

1)升级

滚动升级:先创建容器,成功运行后将已打标的旧容器删除,以此类推平滑的从旧版本更新到新版本完成升级。

[root@k8s-master tomcat-java-demo-master]# kubectl create deployment web --image=nginx --dry-run -o yaml > web.yaml
[root@k8s-master tomcat-java-demo-master]# vim web.yaml 

在这里插入图片描述
启动容器并查看pod

[root@k8s-master tomcat-java-demo-master]# kubectl apply -f web.yaml 
deployment.apps/web created
[root@k8s-master tomcat-java-demo-master]# kubectl get pods

在这里插入图片描述
暴露端口后查看外部链接端口

[root@k8s-master tomcat-java-demo-master]# kubectl expose deployment web --port=80 --target-port=8080 --name=web --type=NodePort
[root@k8s-master tomcat-java-demo-master]# kubectl get pods,svc

在这里插入图片描述
360/Firefox浏览器中验证http://NodeIP:Port
在这里插入图片描述
升级镜像并查看升级状态

[root@k8s-master tomcat-java-demo-master]# kubectl set image deployment web java=nginx
[root@k8s-master tomcat-java-demo-master]# kubectl rollout status deployment web
deployment "web" successfully rolled out

修改svc中的端口号,否则会报错;将其中的端口将8080改为80

[root@k8s-master tomcat-java-demo-master]# kubectl edit svc/web
service/web edited

在这里插入图片描述
升级镜像后web验证:
在这里插入图片描述

2)回滚

[root@k8s-master tomcat-java-demo-master]# kubectl rollout history deployment web
deployment.apps/web 
REVISION  CHANGE-CAUSE
1         <none>
2         <none>

[root@k8s-master tomcat-java-demo-master]# kubectl rollout undo deployment web
deployment.apps/web rolled back
[root@k8s-master tomcat-java-demo-master]# kubectl get pods

访问失败,则需要修改svc中的端口号将80改为8080
[root@k8s-master tomcat-java-demo-master]# kubectl edit svc/web
service/web edited
#指定版本
[root@k8s-master tomcat-java-demo-master]# kubectl rollout undo deployment web --revision=2

在这里插入图片描述

3)扩容/缩容

扩容先修改yaml文件中的replicas值,再apply;也可以使用下面的命令直接执行

[root@k8s-master tomcat-java-demo-master]# kubectl scale deployment web --replicas=5
deployment.apps/web scaled
[root@k8s-master tomcat-java-demo-master]# kubectl get pods

在这里插入图片描述
缩容方法与扩容相似,只需要减少容器副本数即可。

[root@k8s-master tomcat-java-demo-master]# kubectl scale deployment web --replicas=2
deployment.apps/web scaled
[root@k8s-master tomcat-java-demo-master]# kubectl get podss

在这里插入图片描述

4)删除

删除deployment,则直接清除资源;而删除Pod则无法成功删除资源,因为deloyment会保证副本数,删除一个Pod后会接着拉取一个Pod,以保证副本数。

[root@k8s-master tomcat-java-demo-master]# kubectl delete deployment web
deployment.apps "web" deleted
[root@k8s-master tomcat-java-demo-master]# kubectl delete svc web
service "web" deleted

猜你喜欢

转载自blog.csdn.net/weixin_46329906/article/details/121745367