阿里云容器服务ACK提供一键故障诊断能力,包括节点诊断、Pod诊断、Service诊断、Ingress诊断和内存诊断,可以辅助您定位集群中出现的问题。本文介绍如何在ACK集群中使用集群诊断功能。
前提条件
- 已创建Kubernetes托管版集群。具体操作,请参见创建Kubernetes托管版集群。
- 确保Kubernetes集群处于正常运行中状态(登录容器服务管理控制台,在集群列表页面确认集群状态为运行中)。
诊断功能介绍
容器服务ACK提供的诊断功能如下表所示。
诊断项 | 说明 |
---|---|
节点诊断 | 诊断节点相关的问题。例如K8s节点NotReady等。 |
Pod诊断 | 诊断K8s Pod状态异常相关的问题。例如Pod启动失败,Pod频繁重启等 。 |
Service诊断 | 诊断Service相关的问题。例如Service配置、资源配额、异常事件信息等。 |
Ingress诊断 | 诊断Ingress相关的流量配置等问题。 |
内存诊断 | 诊断节点内存相关问题。例如内存泄漏、cgroup泄漏、OOM等,诊断结果以可视化图表展示内存整体使用情况。 |
配置故障诊断
配置节点诊断和配置Pod诊断、配置Service诊断、配置Ingress诊断、配置内存诊断操作类似,下文以配置节点诊断为例,介绍如何配置故障诊断功能。
- 登录容器服务管理控制台,在左侧导航栏选择集群。
- 在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择 。
- 在故障诊断页面,单击节点诊断。
- 在选择节点面板,选择节点名称,仔细检查后选中我已知晓并同意,然后单击发起诊断。等待一段时间后,在故障诊断页面诊断报告状态列显示成功,表示诊断完成。
查看诊断结果
诊断项 | 对应的检查项状态 | 说明 |
---|---|---|
节点诊断 |
| 节点诊断包括Node、NodeComponent、ClusterComponent、ECSControllerManager、GPUNode检查项,通过节点状态、节点组件状态、集群组件状态和ECS状态综合判定节点异常原因。在诊断详情页面,可以看到节点的诊断结果、修复建议及具体的诊断项列表。 鼠标悬浮在检查项右侧 如果有异常或警告类的检查项,会显示在待处理页签中。 检查项状态为异常时,可以在目标检查项右侧状态中的查看详情的Tips中查看异常。 |
Pod诊断 | Pod诊断包括Pod、ClusterComponent、Node、NodeComponent、ECSControllerManager检查项。通过Pod状态、集群组件状态、节点状态、节点组件状态和ECS状态综合判定Pod异常原因。在诊断详情页面,可以看到Pod的诊断结果、修复建议及具体的诊断项列表。 鼠标悬浮在检查项右侧 如果有异常或警告类的检查项,会显示在待处理页签中。 检查项状态为异常时,可以在目标检查项右侧状态中的查看详情的Tips中查看异常。 | |
Service诊断 | Service诊断包括Service和ResourceQuotas检查项。通过检查CLB计费类型、证书、配额、异常Event等检查项判定Service异常原因。 鼠标悬浮在检查项右侧 如果有异常或警告类的检查项,会显示在待处理页签中。 检查项状态为异常时,可以在目标检查项右侧状态中的查看详情的Tips中查看异常。 | |
Ingress诊断 | Ingress诊断包括Ingress、Addon、SLB检查项。通过Ingress状态、Ingress插件状态和SLB状态综合判定Ingress异常原因。 鼠标悬浮在检查项右侧 如果有异常或警告类的检查项,会显示在待处理页签中。 检查项状态为异常时,可以在目标检查项右侧状态中的查看详情的Tips中查看异常。 | |
内存诊断 | 无。 | 在诊断详情页面,您可以查看内存总览、内存分析和OOM分析,包括内存泄漏状态、内存利用率、各个进程所占的内存等内容。 |