故障诊断
更新时间:2025-06-16
概述
百度云容器引擎(CCE)故障诊断功能提供自动化异常检测与根因定位能力,支持对集群核心组件的健康状态进行系统性检查,帮您快速识别常见配置错误、资源瓶颈及组件故障。
前提条件
- 已创建CCE集群。具体操作,请参见创建集群
- 已确保Kubernetes集群处于正常运行状态。
诊断功能介绍
当前版本重点覆盖 节点级 与 Pod级 资源异常诊断,详细诊断项参考文档下方说明。
开启故障诊断
重要:故障诊断功能采集的信息包括系统版本、负载、docker、kubelet等组件运行状态,系统日志中关键错误信息。诊断全程遵循数据安全规范,不涉及任何业务及敏感数据。
节点诊断和Pod诊断操作类似,下文以开启节点诊断为例,介绍如何使用故障诊断功能。
方式一:
- 登录百度智能云管理控制台,进入“产品服务>云原生>容器引擎 CCE”,点击“集群管理>集群列表”,进入集群列表页面。
- 单击目标集群名称,然后在左侧导航栏【巡检与诊断】中,选择“故障诊断”。
- 在集群巡检选择【节点诊断】Tab,单击【立即诊断】
- 在节点诊断弹窗选择节点名称,仔细阅读注意事项后选中我已知晓并同意,然后单确认发起诊断。
方式二: - 在目标集群的节点列表页,操作列选择【故障诊断】
- 跳转到节点诊断弹窗后,仔细阅读注意事项后选中我已知晓并同意,然后单确认发起诊断。
发起诊断后,您可以根据任务诊断中的状态查看诊断进展。
查看诊断结果
在故障诊断页面诊断列表页,单击目标诊断报告对应的诊断详情,在诊断详情页面查看详细诊断结果。
节点诊断项及说明
Node 节点
诊断项名称 | 诊断项说明 | 修复方案 |
---|---|---|
节点状态 | 确认节点状态为 Ready。 | 请尝试重启节点 |
节点调度状态 | 确认节点未被标记为不可调度。 | 节点不可调度,请检查节点封锁设置。具体操作,请参见设置节点封锁。 |
BCC 实例是否存在 | 检查节点对应的 BCC 实例存在。 | 检查BCC实例状态。 |
BCC 实例健康状态 | 检查节点对应的 BCC 实例运行正常。 | 检查BCC实例状态。 |
节点 CPU 使用率 | 检查节点当前 CPU 使用率处于正常范围。 | 无 |
节点内存使用率 | 检查节点当前内存使用率处于正常范围。 | 无 |
节点周 CPU 水位 | 检查节点过去一周 CPU 使用率未持续过高,避免资源争抢影响业务。 | 为避免业务受到影响,请设置合理的Pod request和limit,避免一个节点上运行的Pod过多。 |
节点周内存水位 | 检查节点过去一周内存使用率未持续过高,避免 OOM 影响业务。 | 为避免业务受到影响,请设置合理的Pod request和limit,避免一个节点上运行的Pod过多。 |
节点 OOM 事件 | 检查节点未发生 OOM (内存溢出) 事件。 | 登陆节点,查看Pod所在节点的内核日志/var/log/messages |
Kubelet 状态 | 检查节点 Kubelet 运行正常。 | 请检查节点Kubelet日志。 |
Containerd 状态 | 检查节点 Containerd 服务运行正常。 | 登陆节点,查看节点的内核日志/var/log/messages |
Docker 状态 | 检查节点 Docker 服务运行正常。 | 登陆节点,查看节点的内核日志/var/log/messages |
Docker hang检测 | 检查节点未发生 Docker hang情况。 | 请尝试登录节点,通过命令systemctl restart docker重启Docker。 |
API Server 连接 | 检查节点可正常连接集群 API Server。 | 请检查集群相关配置。 |
节点 DNS 服务 | 检查节点可正常使用主机 DNS 服务。 | 请检查主机DNS服务是否正常。更多信息,请参见DNS问题排查指南。 |
集群 DNS 服务 | 检查节点访问集群kube-dns服务的Cluster IP,正常使用集群的DNS服务 | 请检查CoreDNS Pod运行状态和运行日志。更多信息,请参见DNS问题排查指南。 |
集群CoreDNS Pod可用性 | 检查节点可正常访问集群 CoreDNS的Pod IP地址。 | 请检查节点能否正常访问CoreDNS的Pod IP地址。 |
Containerd 镜像拉取 | 检查节点 Containerd 可正常拉取镜像。 | 请检查节点网络及镜像配置。 |
Docker 镜像拉取状态 | 检查节点 Docker 可正常拉取镜像。 | 请检查节点网络及镜像配置。 |
NodeComponent 节点核心组件
诊断项名称 | 诊断项说明 | 修复建议 |
---|---|---|
CNI 组件状态 | 检查节点 CNI组件运行正常。 | 请提交工单处理。 |
CSI 组件状态 | 确认节点 CSI 组件运行正常。 | 请前往CCE集群-运维与管理-组件管理-存储,检查集群件存储组件状态。 |
Network Agent 状态 | 确认节点 Network Agent 服务运行正常。 | 请提交工单处理。 |
Network Operator 状态 | 确认集群 Network Operator 服务运行正常。 | 请提交工单处理。 |
ClusterComponent 集群组件
诊断项名称 | 诊断项说明 | 修复建议 |
---|---|---|
Pod网段余量 | 确认 VPC路由模式下集群剩余可用 PodCIDR 网段大于 5 个,避免 Pod 网段耗尽导致新节点无法正常工作。 | 请提交工单处理。 |
DNS 服务 ClusterIP | 确认集群 DNS 服务的 Cluster IP 已正常分配,DNS 服务异常将导致集群功能异常,影响业务 | 请检查CoreDNS Pod运行状态和运行日志。更多信息,请参见DNS问题排查指南 |
API Server BLB 实例状态 | 确认 API Server BLB 实例运行正常。 | 前往BLB应用型实例页面找到集群关联的BLB实例,在实例详情里检查BLB实例状态。 |
API Server BLB 实例是否存在 | 确认 API Server BLB 实例存在。 | 前往BLB应用型实例页面检查集群关联的BLB实例是否存在。 |
API Server BLB 6443 端口监听 | 确认 API Server BLB 6443 端口监听配置正确。 | 前往BLB应用型实例页面找到集群关联的BLB实例,检查BLB实例目标组的配置。 |
节点与容器子网可用区一致性 | 确认 VPC-ENI 模式下节点和容器子网位于同一可用区。 | 查看CCE集群详情,找到容器网络,添加子网并确保节点和子网位于同一可用区。 |
子网 IP 余量 | 确认 VPC-ENI 模式下子网剩余 IP 数量充足。 | 查看CCE集群详情,找到容器网络,添加子网。 |
GPUNode GPU 节点
诊断项名称 | 诊断项说明 | 修复建议 |
---|---|---|
GPU节点状态 | 检查节点GPU综合状态是否正常。 | 请尝试重启GPU节点,重启未恢复请提交工单处理。 |
GPU节点可分配GPU数 | 检查节点可分配GPU数是否正常。 | 请尝试重启GPU节点,重启未恢复请提交工单处理。 |
NVIDIA XID48Error | 检查 NVIDIA GPU Double Bit ECC Error。 | 请尝试重启GPU节点,重启未恢复请提交工单处理。 |
NVIDIA XID62Error | 检查 NVIDIA GPU Internal micro-controller halt (newer drivers)。 | 请尝试重启GPU节点,重启未恢复请提交工单处理。 |
NVIDIA XID64Error | 检查 NVIDIA GPU ECC page retirement or row remapper recording failure。 | 请尝试重启GPU节点,重启未恢复请提交工单处理。 |
NVIDIA XID74Error | 检查 NVIDIA GPU NVLINK Error。 | 请尝试重启GPU节点,重启未恢复请提交工单处理。 |
NVIDIA XID79Error | 检查 NVIDIA GPU 掉卡:GPU has fallen off the bus。 | 请尝试重启GPU节点,重启未恢复请提交工单处理。 |
NVIDIA XID95Error | 检查 NVIDIA GPU Uncontained ECC error。 | 请尝试重启GPU节点,重启未恢复请提交工单处理 |
NVIDIA XID109Error | 检查 NVIDIA GPU Context Switch Timeout Error。 | 请尝试重启GPU节点,重启未恢复请提交工单处理。 |
NVIDIA XID140Error | 检查 NVIDIA GPU Unrecovered ECC Error。 | 请尝试重启GPU节点,重启未恢复请提交工单处理。 |
NVIDIA XIDError | 检查 NVIDIA GPU XID错误。 | 请尝试重启GPU节点,重启未恢复请提交工单处理 |
NVIDIA SXIDError | 检查 NVIDIA GPU SXID错误。 | 请尝试重启GPU节点,重启未恢复请提交工单处理。 |
NVIDIA 存在行重映射失败 | 检查 NVIDIA GPU 是否存在行重映射失败。 | 请尝试重启GPU节点,重启未恢复请提交工单处理。 |
NVIDIA Device Plugin掉卡 | 检查 NVIDIA Device Plugin 是否上报掉卡。 | 请尝试重启GPU节点,重启未恢复请提交工单处理。 |
NVIDIA InfoROM情况 | 检查 NVIDIA GPU infoROM 是否已损坏。 | 请尝试重启GPU节点,重启未恢复请提交工单处理。 |
NVIDIA ECC错误 | 检查 NVIDIA GPU ECC错误。 | 请尝试重启GPU节点,重启未恢复请提交工单处理。 |
NVIDIA GPU高温告警 | 检查 NVIDIA GPU 温度是否正常。 | 请尝试重启GPU节点,重启未恢复请提交工单处理。 |
NVIDIA GPU运行模式 | 检查 NVIDIA GPU 运行模式是否正常。 | 请尝试重启GPU节点,重启未恢复请提交工单处理。 |
NVIDIA-SMI状态码 | 检查 nvidia-smi 状态码。 | 请尝试重启GPU节点,重启未恢复请提交工单处理。 |
PCI配置读写 | 检查 PCI 配置是否读写失败。 | 请尝试重启GPU节点,重启未恢复请提交工单处理。 |
PCI地址访问 | 检查 lspci 是否能够读取 GPU 配置空间。 | 请尝试重启GPU节点,重启未恢复请提交工单处理。 |
GPU带宽 | 检查 GPU 带宽是否正常。 | 请尝试重启GPU节点,重启未恢复请提交工单处理。 |
GPU功耗告警 | 检查 GPU 功耗是否正常。 | 请尝试重启GPU节点,重启未恢复请提交工单处理。 |
GPU驱动无法访问 | 检查 GPU 驱动是否能够正常访问。 | 请尝试重启GPU节点,重启未恢复请提交工单处理。 |
NVIDIA GPU识别情况 | 检查总线的 NVIDIA GPU 是否能够被驱动和nvidia-smi识别。 | 请尝试重启GPU节点,重启未恢复请提交工单处理。 |
NVIDIA-Container-Toolkit版本 | 检查 NVIDIA-Container-Toolkit 版本是否符合集群版本。 | 请尝试重启GPU节点,重启未恢复请提交工单处理。 |
NVIDIA-Container-Toolkit配置 | 检查 NVIDIA-Container-Toolkit 在容器运行时配置是否正常。 | 请尝试重启GPU节点,重启未恢复请提交工单处理。 |
NVIDIA-Container-Toolkit状态 | 检查 NVIDIA-Container-Toolkit 状态是否正常。 | 请尝试重启GPU节点,重启未恢复请提交工单处理。 |
GPU节点上的异常进程 | 检查 GPU 节点上是否存在异常进程。 | 请尝试重启GPU节点,重启未恢复请提交工单处理。 |
HAS状态 | 检查 HAS 状态是否正常。 | 请尝试重启GPU节点,重启未恢复请提交工单处理。 |
HAS版本 | 检查 HAS 版本是否支持。 | 请尝试重启GPU节点,重启未恢复请提交工单处理。 |
NVIDIA 掉卡情况 | 检查 NVIDIA GPU 是否已从总线上掉落或不可访问。 | 请尝试重启GPU节点,重启未恢复请提交工单处理。 |
NVIDIA ECC错误超过限制 | 检查 NVIDIA GPU ECC 内存校验错误是否超过限制。 | 请尝试重启GPU节点,重启未恢复请提交工单处理。 |
NVIDIA GPU互联链路方式 | 检查 NVIDIA GPU 互联通信链路方式是否正常(SYS或NODE方式链接将导致降速 )。 | 请尝试重启GPU节点,重启未恢复请提交工单处理。 |
NVIDIA GPU互联链路告警 | 检查 NVLink & NVSwitch错误 | 请尝试重启GPU节点,重启未恢复请提交工单处理。 |
NVIDIA GPU互联服务错误 | 检查 GPU 互联服务 FabricManager 是否正常。 | 请尝试重启GPU节点,重启未恢复请提交工单处理。 |
NVLink状态 | 检查 NVLink 是否中断或失活。 | 请尝试重启GPU节点,重启未恢复请提交工单处理。 |
CUDA版本 | 检查 CUDA 版本是否支持。 | 请尝试重启GPU节点,重启未恢复请提交工单处理。 |
GPU驱动版本 | 检查 GPU 驱动版本是否支持。 | 请尝试重启GPU节点,重启未恢复请提交工单处理。 |
NVIDIA设备电源线连接 | 检查NVIDIA GPU 设备电源线是否正确连接。 | 请尝试重启GPU节点,重启未恢复请提交工单处理。 |
NVLink数量 | 检查 NVLink的links数量是否减少。 | 请尝试重启GPU节点,重启未恢复请提交工单处理。 |
GPU与网卡连接类型 | 检查网卡位置是否插错。 | 请尝试重启GPU节点,重启未恢复请提交工单处理。 |
节点网卡状态 | 检查网卡综合状态。 | 请尝试重启GPU节点,重启未恢复请提交工单处理。 |
网卡PCI地址不可用 | 检查网卡 PCI 地址是否不可用。 | 请尝试重启GPU节点,重启未恢复请提交工单处理。 |
网卡通道数量 | 检查网卡通道数量是否达到支持的最大值。 | 请尝试重启GPU节点,重启未恢复请提交工单处理。 |
网卡带宽 | 检查网卡带宽是否达到支持的最大值。 | 请尝试重启GPU节点,重启未恢复请提交工单处理。 |
Pod诊断项及说明
诊断项名称 | 诊断项说明 | 修复建议 |
---|---|---|
Pod 容器重启次数 | 统计 Pod 内容器的重启次数,识别异常重启情况。 | 请检查Pod状态及日志。更多信息,请参见Pod异常问题排查。 |
Pod 容器镜像下载 | 检查 Pod 所在节点是否存在其他 Pod 的镜像下载阻塞,避免资源竞争。 | 请检查Pod状态及日志。更多信息,请参见Pod异常问题排查。 |
Pod 容器镜像拉取 Secrets 有效性 | 检查 Pod 拉取镜像所需的 Secrets 有效,避免镜像拉取失败。 | 请检查Pod状态及日志。更多信息,请参见Pod异常问题排查。 |
Pod 内存使用情况 | 检查 Pod 内存使用率 ≤ 95%,避免内存过高导致 OOM 影响业务 | 1.通过工作负载页面或使用kubectl编辑工作负载YAML,找到resources字段,调整资源配额(Request、Limit)。 2.通过工作负载页面点击伸缩增加期待Pod数,或使用kubectl编辑工作负载YAML增加实例数。 3.配置弹性伸缩(HPA)。 |
Pod CPU使用情况 | 检查 Pod CPU 使用率 ≤ 95%,避免 CPU 过高导致资源争抢影响业务。 | 1.通过工作负载页面或使用kubectl编辑工作负载YAML,找到resources字段,调整资源配额(Request、Limit)。 2.通过工作负载页面点击伸缩增加期待Pod数,或使用kubectl编辑工作负载YAML增加实例数。 3.配置弹性伸缩(HPA)。 |
Pod到CoreDNS Pods的连通性 | 检查 Pod 可正常访问 CoreDNS Pods | 检查Pod到CoreDNS Pods的连通性。 |
Pod到CoreDNS Service的连通性 | 检查 Pod 可正常访问 CoreDNS Service | 检查Pod到CoreDNS Pods的连通性。 |
Pod到主机网络DNS服务器的连通性 | 检查 Pod 可正常访问主机网络 DNS 服务器 | 检查Pod到主机网络DNS服务器的连通性。 |
Pod初始化状态 | 检查 Pod 已完成初始化,进入正常运行阶段。 | 请检查Pod状态及日志。更多信息,请参见Pod异常问题排查。 |
Pod调度状态 | 检查 Pod 已被成功调度到目标节点。 | 请检查Pod状态及日志。更多信息,请参见Pod异常问题排查。 |
Pod是否可调度 | 检查 Pod 满足调度条件,可被调度到合适节点。 | 请检查Pod状态及日志。更多信息,请参见Pod异常问题排查。 |
Pod状态 | 检查 Pod 当前状态符合预期,例如 Running、Pending 等。 | 请检查Pod状态及日志。更多信息,请参见Pod异常问题排查。 |