Evicted 状态表示 Pod 由于某些原因被系统驱逐(evicted)或终止,因为磁盘压力并且指定改pod在某个主机,会导致出现很多Evicted的pod无法删除。
可以使用该命令去删除
kubectl delete pods --namespace yournamespace --field-selector=status.phase=Failed
解释一下:
kubectl delete pods
: 删除 Pods 资源。--namespace yournamespace
: 指定命名空间为改这些pod的命名空间 。命名空间是 Kubernetes 中用于隔离和组织资源的一种方式。--field-selector=status.phase=Failed
: 使用字段选择器,仅删除状态(status)的phase
属性为Failed
的 Pods。Pod 的phase
表示当前 Pod 的状态,Failed
表示 Pod 处于失败状态。
这个命令的执行流程如下:
kubectl
工具连接到 Kubernetes 集群。- 根据指定的命名空间,找到该命名空间下的所有 Pods。
- 对于每个 Pod,检查其状态。如果状态的
phase
为Failed
,则将其删除。 - 删除的 Pod 将被 Kubernetes 控制平面重新创建,除非存在问题导致 Pod 无法正常运行。