K8S集群中如何删除并重新部署pod

发布于:2024-03-04 ⋅ 阅读:(45) ⋅ 点赞:(0)

天行健,君子以自强不息;地势坤,君子以厚德载物。


每个人都有惰性,但不断学习是好好生活的根本,共勉!


文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。


kubectl相关命令汇总可参考:K8S常用kubectl命令汇总(持续更新中)

1. 删除pod的方式

分情况,分为replicates参数的值是否小于1,小于1删除pod即可,否则需要删除deployment才能彻底删除
推荐直接使用第二种删除deployment的命令

1.1 删除pod

删除pod时正常情况下可以直接删除
先查看pod

kubectl get pod -n namespacename

然后根据pod名称删除

kubectl delete pod podname -n namespacename

注:podname表示pod的名称,namespacename表示命名空间的名称

1.2 删除deployment

当deployment的配置文件(如我的deploy配置文件sb-dplm.yaml)中replicates参数大于等于1,即副本数大于等于1,则需要删除deployment才能彻底删除pod,否则删除一个pod他会自动重新启动一个副本pod,循环往复
先查看deploy

kubectl get deploy -n namespacename

删除deployment命令

kubectl delete deployment deploymentname -n namspacename

2. 删除pod实例演示

我部署了一个pod,命名空间为ns-sb

2.1 删除pod

以我的pod为例,先查看pod

kubectl get pod -n ns-sb

在这里插入图片描述
删除pod

kubectl delete pod sb-dplm-d765487f8-2trdj -n ns-sb

在这里插入图片描述
因为我的副本配置参数为1,所以删除pod他会再次启动一个新的
在这里插入图片描述

2.2 删除deploy

查看deploy

kubectl delete deploy sb-dplm -n ns-sb

在这里插入图片描述
删除deploy

kubectl delete deploy sb-dplm -n ns-sb

在这里插入图片描述
再次查看deploy,可以看到已经没了
在这里插入图片描述
然后再查看pod,也没了,已经彻底删除
在这里插入图片描述

3. 删除镜像

如果之前部署过pod,并且使用的是镜像仓库存储构建的镜像,如我这里使用的是harbor仓库存储
那么想要重新部署新的pod,之前生成的镜像名称和新生成的名称一样的话,就要将原来的先删除再构建
如果名称不同,则可选择性删除原来的镜像
我这里名称未做修改,新的和旧的都是同一个名字,我们先删除之前生成的旧的镜像,再重新构建新新镜像,然后再yaml配置中使用

3.1 删除仓库镜像

勾选镜像,删除
在这里插入图片描述
在这里插入图片描述

3.2 删除本地镜像

如果在构建镜像的脚本中未添加构建完推送后删除镜像的操作,则需要手动去删除之前创建的本地镜像
当然,如果每次构建的镜像名称不同则可以选择性删除,名称相同的话需要先删除再构建
到pod部署的服务器上,因为pod部署在那个服务器,镜像就会从该服务器中拉取下来存放
可使用命令查看pod所在服务器ip

kubectl get pod -n namespacename -o wide

然后到该节点服务器查看镜像并删除

docker images
docker rmi 镜像ID

4. 部署pod

重新构建镜像,然后重新部署配置文件(deploy的yaml文件)

kubectl apply -f springboot-yaml/sb-dplm.yaml

springboot-yaml/sb-dplm.yaml是我的deploy配置文件的全路径名
查看新的pod

kubectl get pod -n ns-sb -o wide

感谢阅读,祝君暴富!


网站公告

今日签到

点亮在社区的每一天
去签到