解决k8s删除pod后又重新创建了新的pod

发布时间 2023-09-23 23:29:41作者: 我也有梦想呀
1、问题现象

image

2、原因

在Kubernetes中,当你删除一个Pod时,如果该Pod是由Deployment、ReplicaSet或PodController创建的,那么这个Pod会被标记为“已删除”,但实际上并不会立即从系统中删除。

具体而言,当一个Pod被删除时:
如果这个Pod是由Deployment创建的,那么系统会创建一个新的ReplicaSet来替代被删除的Pod。这个新的ReplicaSet将从零开始扩展,直至达到期望的副本数量。
如果这个Pod是由ReplicaSet或PodController创建的,系统会尝试创建一个新的Pod来替代被删除的Pod。
这种设计是为了防止应用程序意外中断,因为Pod的创建和扩展通常需要一些时间。因此,在删除Pod后,系统会尝试创建一个新的Pod来保持应用程序的可用性。

如果你想彻底删除一个Pod,你需要删除或禁用与其相关的Deployment、ReplicaSet或PodController。

解决办法
kubectl get deploy -n default

kubectl get rs -n default

kubectl delete deploy nginx

image

其实这就是k8s中一个非常强悍的功能:“自愈能力”