阿里云容器计算服务ACS使用容器智能运维平台提供了Pod诊断功能,帮助您诊断异常的Pod信息。本文介绍Pod诊断的检查项以及对应的修复方案。
容器智能运维平台构建了基于专家经验的故障诊断系统,并基于海量数据训练了AI智能故障诊断模型。Pod诊断融合了基于专家经验和AI智能诊断两种诊断模式,进一步深入定位问题根因。Pod诊断包括诊断检查项和诊断根因。
-
诊断检查项:包括Pod检查、ClusterComponent检查。
-
诊断根因:包括定位到的根因以及修复建议。Pod诊断会收集部分集群信息并识别其中的异常,然后根据识别到的异常进行深入的异常诊断。
使用故障诊断功能时,系统将在您的集群执行数据采集程序并收集检查结果。采集的信息包括系统版本,以及负载、容器组件等运行状态及系统日志中关键错误信息。数据采集程序不会采集您的业务信息及敏感数据。
诊断支持的异常场景
Pod诊断覆盖的典型异常场景和AI智能诊断支持场景如下表所示。
|
类别 |
支持的异常场景 |
|
Pod诊断 |
Pod未被调度器处理。 |
|
Pod不满足调度约束无法被调度。 |
|
|
Pod已调度但未被kubelet处理。 |
|
|
Pod等待存储卷就绪。 |
|
|
Pod被驱逐。 |
|
|
Pod的Sandbox容器创建失败。 |
|
|
Pod长期处于terminating状态。 |
|
|
Pod中容器发生OOM异常。 |
|
|
Pod中容器异常退出。 |
|
|
Pod中容器处于CrashLoopBackOff状态。 |
|
|
Pod中容器NotReady。 |
|
|
Pod拉取镜像出错。 |
|
|
Pod拉取镜像超时。 |
|
|
AI智能诊断 |
Pod状态异常。 |
|
Pod发生OOM异常。 |
|
|
Pod容器异常退出。 |
|
|
Pod ConfigMap或Secret配置异常。 |
|
|
Pod健康检查失败。 |
|
|
Pod PVC配置异常。 |
|
|
Pod镜像拉取异常。 |
诊断流程
集群诊断收集部分集群信息并识别其中的异常,然后根据识别到的异常进行深入的异常诊断。诊断融合了基于专家经验和AI智能诊断两种诊断模式,进一步深入定位问题根因。发起诊断后,诊断会按照异常识别、数据采集、检查项评估以及根因分析四个阶段,完成后给出诊断结果。

-
异常识别:采集基本数据,例如Pod状态、集群Event事件流等,并快速分析当前的异常。
-
数据采集:根据异常识别结果采集和诊断上下文相关的数据。
-
检查项评估:根据采集到的数据,判断关键指标是否正常。
-
根因分析:根据采集的数据和检查项,部分问题可自动分析导致问题的原因。
诊断结果
诊断结果包括根因结果与检查项。根因诊断结果部分包括识别到的异常、异常根因和修复建议。检查项则按不同的类别对可能引起异常的点进行检查,覆盖根因未包括的部分,并对异常原因进一步补充。
根据集群配置,具体检查项可能稍有不同。实际结果请以诊断页面结果为准。
Pod诊断对应的检查项
|
诊断项分组 |
说明 |
|
检查Pod常见问题,检查项包括Pod状态和镜像拉取等。 |
|
|
检查集群常见问题,检查项包括API Service可用性和DNS可用性等。 |
Pod
|
检查项名称 |
检查项说明 |
修复方案 |
|
Pod容器重启次数统计 |
统计Pod中容器重启次数。 |
请检查Pod状态及日志。更多信息,请参见Pod异常问题排查。 |
|
Pod容器镜像下载阻塞情况 |
检查Pod同节点是否有其他Pod的容器镜像下载被阻塞。 |
请检查Pod状态及日志。更多信息,请参见Pod异常问题排查。 |
|
Pod调度状态 |
检查Pod是否正常调度。 |
请检查Pod状态及日志。更多信息,请参见Pod异常问题排查。 |
ClusterComponent
|
检查项名称 |
检查项说明 |
修复方案 |
|
集群APIService可用状态 |
检查集群APIService是否可用。 |
请尝试通过命令 |
|
DNS服务后端服务端点 |
检查集群DNS服务Endpoints数。 |
请检查CoreDNS Pod运行状态和运行日志。 |
|
DNS服务ClusterIP |
检查集群DNS服务的Cluster IP是否正常分配,集群DNS服务异常会造成集群功能异常,影响业务。 |
请检查CoreDNS Pod运行状态和运行日志。 |