更新时间:2026-05-20 GMT+08:00
分享

工作负载状态异常定位方法

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

定位流程

第一步:检查工作负载基础状态(快速判断异常类型)

  1. 登录CCE控制台,单击集群名称进入集群。
  2. 在左侧选择“工作负载”,在页面左上角选择命名空间。
  3. 找到对应的工作负载,查看其状态,根据工作负载状态区分3类核心场景。

第二步:排查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不断被驱逐

请参考工作负载异常:实例驱逐异常(Evicted)

Creating

实例状态一直为“创建中”

请参考工作负载异常:一直处于创建中

Terminating

实例状态一直为“结束中”

请参考工作负载异常:Pod一直处于Terminating状态

Stopped

实例状态为“已停止”

请参考工作负载异常:已停止

Init:N/M

Init容器启动失败

请参考工作负载异常:Init容器启动失败

Init:Error

Init容器启动失败

请参考工作负载异常:Init容器启动失败

Init:CrashLoopBackOff

Init容器不断重启失败

请参考工作负载异常:Init容器启动失败

第三步:排查访问异常(负载正常但无法访问场景)

若工作负载状态为“运行中”,但无法访问,您可以按以下步骤排查:

  1. 您可以在CCE控制台界面或者使用kubectl命令查找Pod的IP。
  2. 登录到集群内的节点或容器中,使用curl命令等方法手动调用接口,查看结果是否符合预期。
  3. 如果容器IP+端口不能访问,建议登录到业务容器内使用“127.0.0.1+端口”进行排查。

    登录容器的操作步骤请参见登录容器

如果工作负载状态正常但实际未正常工作,或者访问结果不符合预期,请参考工作负载状态正常但未正常工作

常见检查方法

您可以通过以下方式,排查Pod可能存在的问题。

检查Pod状态

  1. 登录CCE控制台。
  2. 单击集群名称进入集群,在左侧选择“工作负载”。
  3. 单击指定工作负载名称,查看工作负载中实例(Pod)的运行状态。

查看Pod配置

  1. 登录CCE控制台。
  2. 单击集群名称进入集群,在左侧选择“工作负载”。
  3. 单击指定工作负载名称,在工作负载实例列表中,单击操作列的“更多 > 查看YAML”。

查看Pod事件

方式一

在CCE控制台中单击工作负载名称,前往“工作负载详情”页面,找到处于异常状态的实例,单击操作栏中的“事件”进行查看。

图1 查看Pod事件

方式二

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.

查看容器日志

  1. 登录CCE控制台。
  2. 单击集群名称进入集群,在左侧选择“工作负载”。
  3. 单击工作负载操作列的“日志”。

  4. 您可以在日志上方切换实例和容器。

查看Pod监控

  1. 登录CCE控制台。
  2. 单击集群名称进入集群,在左侧选择“工作负载”。
  3. 单击工作负载操作列的“监控”,即可查看Pod的CPU、内存、网络I/O等监控大盘。

登录容器

您可以通过kubectl命令登录容器,详情请参见登录容器实例

  1. 登录CCE控制台。
  2. 单击集群名称进入集群,在左侧选择“工作负载”。
  3. 单击指定工作负载名称,在工作负载实例列表中,单击操作列的“更多 > 远程登录”。

相关文档