工作负载状态异常定位方法
工作负载状态异常时,建议先查看Pod的事件以便于确定导致异常的初步原因,再针对性解决问题。
定位流程

第一步:检查工作负载基础状态(快速判断异常类型)
- 登录CCE控制台,单击集群名称进入集群。
- 在左侧选择“工作负载”,在页面左上角选择命名空间。
- 找到对应的工作负载,查看其状态,根据工作负载状态区分3类核心场景。
- 如果工作负载状态为“未就绪”,重点排查Pod异常,参见第二步:排查Pod异常(定位负载异常的核心根源)。
- 如果工作负载状态为“处理中”,一般为过程中的状态,请耐心等待。若长时间未恢复,可按“未就绪”排查。
- 如果工作负载状态为“运行中”,一般无需处理。如果出现状态正常但无法访问的情况,则需要进一步排查集群内访问是否正常,直接参考第三步:排查访问异常(负载正常但无法访问场景)。
第二步:排查Pod异常(定位负载异常的核心根源)
您可通过查看Pod的事件等信息确定异常原因,详情请参见查看Pod事件。根据事件查找异常的解决方案。
以下实例状态是通过kubectl get pod命令获取到的STATUS字段。
STATUS是kubectl根据Pod的state.Phase、state.Conditions、容器状态(status.ContainerStatuses)等生成的更细粒度的状态。
| 实例状态 | 问题描述 | 处理措施 |
|---|---|---|
| Pending | 实例调度失败 | |
| Pending | 实例挂卷失败 | |
| Pending | 添加存储失败 | |
| FailedPullImage ImagePullBackOff | 拉取镜像失败 重新拉取镜像失败 | |
| CreateContainerError CrashLoopBackOff | 启动容器失败 反复启动容器失败 | |
| Evicted | 实例状态为“Evicted”,pod不断被驱逐 | |
| Creating | 实例状态一直为“创建中” | |
| Terminating | 实例状态一直为“结束中” | |
| Stopped | 实例状态为“已停止” | 请参考工作负载异常:已停止 |
| Init:N/M | Init容器启动失败 | |
| Init:Error | Init容器启动失败 | |
| Init:CrashLoopBackOff | Init容器不断重启失败 |
第三步:排查访问异常(负载正常但无法访问场景)
若工作负载状态为“运行中”,但无法访问,您可以按以下步骤排查:
- 您可以在CCE控制台界面或者使用kubectl命令查找Pod的IP。
- 登录到集群内的节点或容器中,使用curl命令等方法手动调用接口,查看结果是否符合预期。
- 如果容器IP+端口不能访问,建议登录到业务容器内使用“127.0.0.1+端口”进行排查。
登录容器的操作步骤请参见登录容器。
如果工作负载状态正常但实际未正常工作,或者访问结果不符合预期,请参考工作负载状态正常但未正常工作。
常见检查方法
您可以通过以下方式,排查Pod可能存在的问题。
查看Pod事件
方式一
在CCE控制台中单击工作负载名称,前往“工作负载详情”页面,找到处于异常状态的实例,单击操作栏中的“事件”进行查看。
方式二
Pod的事件可以使用kubectl命令查看:
kubectl describe pod {pod-name} 回显如下:
... Events: Type Reason Age From Message ---- ------ ---- ---- ------- Warning FailedScheduling 49s default-scheduler 0/2 nodes are available: 2 Insufficient cpu. Warning FailedScheduling 49s default-scheduler 0/2 nodes are available: 2 Insufficient cpu.





