我在Amazon EKS上有一个kubernetes集群,有时会出现一些状态为Unknown
的Pod。我读到这是因为我的Pod没有设置内存限制,并且更改后没有出现具有该状态的新Pod。但是我尝试使用kubectl delete pod <pod_name>
删除现有的,但没有用。我应该如何删除它们?
答案 0 :(得分:3)
您可以这样强制删除广告连播:
kubectl delete pod <pod_name> --grace-period=0 --force
答案 1 :(得分:0)
您直接部署了Pod吗? 还是从部署或状态集进行部署? 尝试删除部署或状态集。
如果没有解决办法,则删除pod所在的名称空间。但是所有对象将从该名称空间中删除
答案 2 :(得分:0)
在一个Kubernetes群集中的一个使用Kubernetes工作量可以创建波德。有以下几种工作负载:
如果您使用Pod以外的任何上述列表,则将为该Pod设置Pod的ownerReference(.metadata.ownerRefference
)。也就是说,如果您创建一个名为部署d1
,那么它首先创建一个名为ReplicaSet d1-***
在这种情况下ownerRefference的ReplicaSet是部署d1
。然后,ReplicaSet将创建多个Pod(带有前缀d1-***-***
)。因此,Pod的ownerRefference将是ReplicaSet d1-***
。
更新:
如果您不想由于保持产品性能而删除原始的Deployment或其他工作负载,则可以通过强制删除Pod来满足您的需求:
$ kubectl delete pod <pod_name> --namespace <namespace> --grace-period 0 --force
按照kubectl
参考命令,
--grace-period
::默认值为-1
。给资源正常终止的时间(以秒为单位)。如果为负则忽略。设置为1可立即关闭。仅当--force为真(强制删除)时才能设置为0。--force
:* 默认值为false
。仅在宽限期= 0时使用。如果为true,请立即从API中删除资源并跳过正常删除。请注意,立即删除某些资源可能会导致不一致或数据丢失,需要确认。您就是这种情况。