如何阻止Kubernetes中Busybox容器的循环创建?
解决Kubernetes中Pod被删除后自动重建的问题
嘿,这个问题我碰到过好多次了!你之所以删完Pod就自动重建,核心原因是:你用kubectl run创建Pod时,Kubernetes默认会自动生成一个Deployment(旧版本里可能是ReplicaSet)作为控制器来管理这个Pod——控制器的职责就是维持你设定的Pod副本数(默认是1),所以你刚删完Pod,它立刻就会补一个新的上来。
下面给你两种清晰的解决思路:
一、停止现有Pod的自动重建(针对已创建的资源)
- 先定位管理Pod的控制器
先执行命令查看当前的Deployment:
你大概率能看到名为kubectl get deploymentsbusybox的Deployment;如果没找到,再检查ReplicaSet:kubectl get replicasets - 删除对应的控制器
如果是Deployment,执行:
如果是ReplicaSet,把命令里的名称换成你查到的ReplicaSet名字就行。kubectl delete deployment busybox
删完控制器后,再执行kubectl delete pods --all,就不会有新Pod自动冒出来了。
二、创建不会自动重建的独立Pod(针对新创建场景)
要是你只是想临时跑一个一次性的Pod,下次创建时加上--restart=Never参数,命令如下:
kubectl run busybox -it --image=busybox --restart=Never -- sh
这样创建的Pod没有任何控制器管理,删除后就彻底消失,不会被重建。
内容的提问来源于stack exchange,提问作者Jonathan
相关产品推荐
相关产品推荐

