fly*_*yer 5 kubernetes kubelet kube-controller-manager
如果 Pod 的状态为Failed
,Kubernetes 将尝试创建新的 Pod,直到terminated-pod-gc-threshold
到达kube-controller-manager
。这将Failed
在集群中留下许多 Pod,需要进行清理。
除了这个之外还有其他原因Evicted
会导致PodFailed
吗?
导致 POD 状态为 的原因有很多FAILED
。您只需要通过运行命令来检查是否存在问题(如果存在)
kubectl -n <namespace> describe pod <pod-name>
Run Code Online (Sandbox Code Playgroud)
仔细检查EVENTS
列出 POD 创建期间发生的所有事件的部分。希望您能从那里查明失败的原因。
然而,POD 失败的原因有多种,其中一些如下:
在上面的示例中,无法拉取镜像“not-so-busybox”,因为它不存在,因此 pod 无法运行。Pod 状态和事件清楚地描述了问题。
POD 将无法承受调度故障、节点故障或其他驱逐(例如缺乏资源或节点维护的情况)。Pod 不应该手动创建,而几乎总是通过控制器(如部署)创建(自我修复、复制等)。
pod 失败或终止的原因可以通过以下方式获取
kubectl describe pod <pod_name>
Run Code Online (Sandbox Code Playgroud)
pod失败时我遇到的其他情况:
另外,驱逐是基于资源的——EvictionPolicy
它也可能是由 DRAINing Node/Pod 引起的。您可以在此处阅读有关 DRAIN 的内容。
归档时间: |
|
查看次数: |
12944 次 |
最近记录: |