k8s中如何正确删除pod
---
♦ 在日常的k8s运维过程中,避免不了会对某些pod进行剔除,那么如何才能正确的剔除不需要的pod呢?
- 首先,需要查出想要删除的pod
# 可通过任意方式进行查询
kubectl get pods -A |grep <podname>
kubectl get pods -n <namespace>
kubectl get pods --all-namespaces |grep <podname>
-
kubectl 删除pod命令
kubectl delete pod <podname> -n <namespace>
例如:kubectl delete pod nginx-web-460776586-f6nf0 -n yundoc
可是这里你会发现,在进行删除delete pod后,并不会直接删除。该pod会自动重新构建(可以理解为重启、重构),原因是k8s误认为我们要删除的pod异常挂了,会启用容灾机制,导致重新再拉起一个新的pod。
我们想要正常且彻底的删除一个pod,必须要先破坏掉他的容灾机制,即删除deployment机制。
-
查看deployment信息
#可理解是调度管理pod的 kubectl get deployment --all-namespaces kubectl get deployment -n kube-system
-
删除deployment配置
kubectl delete deployment <deployment名> -n <namespace>
例如:kubectl delete deployment nginx-web -n yundoc
删除deployment,pod会随之删除。
可通过再次查看pod状态,然后进行删除pod命令即可,通常情况下删除deployment后,再次查询pod发现,pod已经开始自行删除了(这步可酌情处理)。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了