如果 Pod 的状态是Failed
,Kubernetes 会尝试创建新的 Pod 直到它到达terminated-pod-gc-threshold
in kube-controller-manager
。这将在集群中留下许多Failed
Pod,需要清理。
Evicted
除了会导致 Pod之外,还有其他原因Failed
吗?
如果 Pod 的状态是Failed
,Kubernetes 会尝试创建新的 Pod 直到它到达terminated-pod-gc-threshold
in kube-controller-manager
。这将在集群中留下许多Failed
Pod,需要清理。
Evicted
除了会导致 Pod之外,还有其他原因Failed
吗?
POD 状态为 的原因可能有很多FAILED
。您只需要通过运行命令检查问题(如果存在)
kubectl -n <namespace> describe pod <pod-name>
仔细检查EVENTS
列出了在 POD 创建期间发生的所有事件的部分。希望您可以从那里查明失败的原因。
但是,POD 故障有多种原因,其中一些原因如下:
在上面的示例中,无法提取图像“not-so-busybox”,因为它不存在,因此 pod 无法运行。pod 状态和事件清楚地描述了问题。
POD 将无法在调度失败、节点故障或其他驱逐(例如资源不足或节点维护的情况下)中幸存下来。Pod 不应该手动创建,但几乎总是通过像 Deployments 这样的控制器来创建(自我修复、复制等)。
可以通过以下方式获取 pod 失败或被终止的原因
kubeclt describe pod <pod_name>
我在 pod Failed 时遇到的其他情况:
另外,驱逐是基于资源的——EvictionPolicy
它也可能是由 DRAINing 节点/Pod 引起的。您可以在此处阅读有关 DRAIN的信息。