# 工作负载状态异常定位方法
工作负载状态异常时，建议先查看Pod的事件以便于确定导致异常的初步原因，再针对性解决问题。
#### 定位流程
![](https://support.huaweicloud.com/cce_faq/zh-cn_image_0000001770135984.png "点击放大")
#### **第一步：检查工作负载基础状态（快速判断异常类型）**
1. 登录[CCE控制台](https://console.huaweicloud.com/cce2.0/?#/cce/cluster/list)，单击集群名称进入集群。
2. 在左侧选择"工作负载"，在页面左上角选择命名空间。
3. 找到对应的工作负载，查看其状态，根据工作负载状态区分3类核心场景。 
   - 如果工作负载状态为"未就绪"，重点排查Pod异常，参见[第二步：排查Pod异常（定位负载异常的核心根源）]。
   
   - 如果工作负载状态为"处理中"，一般为过程中的状态，请耐心等待。若长时间未恢复，可按"未就绪"排查。
   
   - 如果工作负载状态为"运行中"，一般无需处理。如果出现状态正常但无法访问的情况，则需要进一步排查集群内访问是否正常，直接参考[第三步：排查访问异常（负载正常但无法访问场景）]。
   
   
   
   
 
 #### **第二步：排查Pod异常（定位负载异常的核心根源）**
您可通过查看Pod的事件等信息确定异常原因，详情请参见[查看Pod事件]。根据事件查找异常的解决方案。
以下实例状态是通过**kubectl get pod**命令获取到的STATUS字段。
![](https://support.huaweicloud.com/cce_faq/public_sys-resources/note_3.0-zh-cn.png)
STATUS是kubectl根据Pod的state.Phase、state.Conditions、容器状态（status.ContainerStatuses）等生成的更细粒度的状态。
| 实例状态                                                                    | 问题描述                                               | 处理措施                                                                                         |
|:---|:---|:---|
| Pending                                                                 | 实例调度失败                                              | 请参考[工作负载异常：实例调度失败](https://support.huaweicloud.com/cce_faq/cce_faq_00098.html)             |
| Pending                                                               | 实例挂卷失败                                            | 请参考[工作负载异常：存储卷无法挂载或挂载超时](https://support.huaweicloud.com/cce_faq/cce_faq_00200.html)         |
| Pending                                                               | 添加存储失败                                             | 请参考[工作负载异常：添加存储失败](https://support.huaweicloud.com/cce_faq/cce_faq_00433.html)               |
| FailedPullImage ImagePullBackOff       | 拉取镜像失败 重新拉取镜像失败 | 请参考[工作负载异常：实例拉取镜像失败](https://support.huaweicloud.com/cce_faq/cce_faq_00015.html)             |
| CreateContainerError CrashLoopBackOff | 启动容器失败 反复启动容器失败   | 请参考[工作负载异常：启动容器失败](https://support.huaweicloud.com/cce_faq/cce_faq_00018.html)               |
| Evicted                                                                | 实例状态为"Evicted"，pod不断被驱逐                            | 请参考[工作负载异常：实例驱逐异常（Evicted）](https://support.huaweicloud.com/cce_faq/cce_faq_00209.html)     |
| Creating                                                               | 实例状态一直为"创建中"                                      | 请参考[工作负载异常：一直处于创建中](https://support.huaweicloud.com/cce_faq/cce_faq_00140.html)               |
| Terminating                                                             | 实例状态一直为"结束中"                                    | 请参考[工作负载异常：Pod一直处于Terminating状态](https://support.huaweicloud.com/cce_faq/cce_faq_00210.html) |
| Stopped                                                                | 实例状态为"已停止"                                        | 请参考[工作负载异常：已停止](https://support.huaweicloud.com/cce_faq/cce_faq_00012.html)                 |
| Init:N/M                                                              | Init容器启动失败                                       | 请参考[工作负载异常：Init容器启动失败](https://support.huaweicloud.com/cce_faq/cce_faq_00469.html)           |
| Init:Error                                                            | Init容器启动失败                                          | 请参考[工作负载异常：Init容器启动失败](https://support.huaweicloud.com/cce_faq/cce_faq_00469.html)           |
| Init:CrashLoopBackOff                                                   | Init容器不断重启失败                                     | 请参考[工作负载异常：Init容器启动失败](https://support.huaweicloud.com/cce_faq/cce_faq_00469.html)            |
   
 #### **第三步：排查访问异常（负载正常但无法访问场景）**
若工作负载状态为"运行中"，但无法访问，您可以按以下步骤排查：
1. 您可以在CCE控制台界面或者使用kubectl命令查找Pod的IP。
2. 登录到集群内的节点或容器中，使用curl命令等方法手动调用接口，查看结果是否符合预期。
3. 如果容器IP+端口不能访问，建议登录到业务容器内使用"127.0.0.1+端口"进行排查。 登录容器的操作步骤请参见[登录容器]。
   
如果工作负载状态正常但实际未正常工作，或者访问结果不符合预期，请参考[工作负载状态正常但未正常工作](https://support.huaweicloud.com/cce_faq/cce_faq_00471.html)。
#### 常见检查方法
您可以通过以下方式，排查Pod可能存在的问题。
#### 检查Pod状态
1. 登录CCE控制台。
2. 单击集群名称进入集群，在左侧选择"工作负载"。
3. 单击指定工作负载名称，查看工作负载中实例（Pod）的运行状态。 ![](https://support.huaweicloud.com/cce_faq/zh-cn_image_0000002047987996.png "点击放大")
   
   
 
 #### 查看Pod配置
1. 登录CCE控制台。
2. 单击集群名称进入集群，在左侧选择"工作负载"。
3. 单击指定工作负载名称，在工作负载实例列表中，单击操作列的"更多 \> 查看YAML"。 ![](https://support.huaweicloud.com/cce_faq/zh-cn_image_0000002083869973.png "点击放大")
   
   
 
 #### 查看Pod事件
**方式一**
在CCE控制台中单击工作负载名称，前往"工作负载详情"页面，找到处于异常状态的实例，单击操作栏中的"事件"进行查看。
图1查看Pod事件   
![](https://support.huaweicloud.com/cce_faq/zh-cn_image_0000002047833712.png "点击放大")
**方式二**
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. 单击工作负载操作列的"日志"。 ![](https://support.huaweicloud.com/cce_faq/zh-cn_image_0000002047994856.png "点击放大")
   
   
4. 您可以在日志上方切换实例和容器。 ![](https://support.huaweicloud.com/cce_faq/zh-cn_image_0000002044654162.png "点击放大")
   
   
 
#### 查看Pod监控
1. 登录CCE控制台。
2. 单击集群名称进入集群，在左侧选择"工作负载"。
3. 单击工作负载操作列的"监控"，即可查看Pod的CPU、内存、网络I/O等监控大盘。 ![](https://support.huaweicloud.com/cce_faq/zh-cn_image_0000002083878549.png "点击放大")
   
   
 
 #### 登录容器
您可以通过kubectl命令登录容器，详情请参见[登录容器实例](https://support.huaweicloud.com/usermanual-cce/cce_10_00356.html)。
1. 登录CCE控制台。
2. 单击集群名称进入集群，在左侧选择"工作负载"。
3. 单击指定工作负载名称，在工作负载实例列表中，单击操作列的"更多 \> 远程登录"。 ![](https://support.huaweicloud.com/cce_faq/zh-cn_image_0000002083997925.png "点击放大")
   
   
 
