阿里云容器服务ACK提供一键故障诊断能力,包括节点诊断、Pod诊断、网络诊断,可以辅助您定位集群中出现的问题。本文主要介绍如何在ACK集群中使用故障诊断功能。
前提条件
- 已创建Kubernetes集群。具体操作,请参见创建Kubernetes托管版集群。
- Kubernetes集群处于正常运行中状态。
在容器服务管理控制台,集群列表中目标集群的集群状态为运行中。
适用场景
您已明确当前故障所在Pod、节点或网络:
- 对于节点诊断或者Pod诊断,您只需单击诊断,即可获取具体的诊断结果及修复建议。或者您可在诊断配置面板输入对应诊断项参数后,获取具体的结果及建议。
- 对于网络诊断,您可在诊断配置面板输入对应诊断项参数后,获取具体的结果及建议。
操作步骤
- 登录容器服务管理控制台。
- 在控制台左侧导航栏中,单击集群。
- 在集群列表页面中,单击目标集群名称或者目标集群右侧操作列下的详情。
- 您可以按需选择以下任意方式使用节点诊断、Pod诊断或网络诊断:
- 节点诊断
- 方式一:
- 在集群管理页左侧导航栏中,选择节点管理 > 节点。
- 在需要诊断的节点实例的右侧选择更多 > 故障诊断。
控制台跳转到容器智能运维控制台,直接开始节点诊断。
- 方式二:
- 在集群管理页左侧导航栏中,选择运维管理 > 集群检查。
- 在容器智能运维控制台的左侧导航栏中选择检查 > 故障诊断。
- 在故障诊断页面,单击节点诊断。
- 在选择节点面板,输入节点名称,然后选中我已知晓并同意,单击发起诊断。
参数 说明 节点名称 目标节点名称。例如 cn-hangzhou.10.160.XX.XX
。
- 方式一:
- Pod诊断
- 方式一:
- 在集群管理页左侧导航栏中,选择工作负载 > 容器组。
- 在顶部的命名空间下拉列表中,选择命名空间。
- 在需要诊断的Pod实例的右侧单击诊断。
控制台跳转到容器智能运维控制台,直接开始Pod诊断。
- 方式二:
- 在集群管理页左侧导航栏中,选择运维管理 > 集群检查。
- 在容器智能运维控制台的左侧导航栏中选择检查 > 故障诊断。
- 在故障诊断页面,单击Pod诊断。
- 在选择Pod面板,输入节点名称,然后选中我已知晓并同意,单击发起诊断。
参数 说明 Pod Namespace 目标Pod所在命名空间 Pod Name 目标Pod名称
- 方式一:
- 网络诊断
- 在集群管理页左侧导航栏中,选择运维管理 > 集群检查。
- 在容器智能运维控制台的左侧导航栏中选择检查 > 故障诊断。
- 在故障诊断页面,单击网络诊断。
- 在访问信息面板,输入节点名称,然后选中我已知晓并同意,单击发起诊断。
参数 说明 源地址 源地址IP 目的地址 目的地址IP 端口 目的端口 报文跟踪 选择是否需要报文跟踪。选中报文跟踪,主机会实际发送TCP或UDP报文,在对应的网络节点上尝试捕获这些报文,根据报文到达的位置,判断哪些链路上会丢包。报文追踪需要运行1~5分钟。
注意 诊断操作需要在您的集群节点上执行数据采集程序并收集检查结果,采集的信息包括系统版本、负载、Docker、kubelet等组件运行状态及系统日志中关键错误信息,不会采集任何和客户相关的业务信息以及敏感数据。 - 节点诊断
- 在故障诊断列表页面,单击目标诊断项右侧操作列的诊断详情。关于诊断详情的说明如下表所示:
诊断项 诊断界面 检查项状态 说明 节点诊断 - 正常
:无需处理。
- 警告
:需要确认,引起集群异常的情况需要处理。
- 异常
:尽快处理,避免集群无法正常工作。
- 未知
:未正常完成检查或结果未知。
诊断详情页中,会给出诊断结果、修复建议及具体的诊断项列表。 - 鼠标悬浮在检查项右侧
图标上,即可查看检查项说明。
- 如果有异常或警告类的检查项,会显示在待处理页签中。
- 检查项状态为异常时,可以在目标检查项右侧状态中的查看详情的Tips中查看异常。
- 节点诊断包括Node、NodeComponent、ClusterComponent三类检查项,通过ECS状态、Node状态、机器信息采集及集群组件状态综合判定节点异常原因,具体检测项以诊断详情为准。
Pod诊断 Pod诊断包括Pod、Node、NodeComponent、ClusterComponent四类检查项。通过Pod状态、节点状态、集群组件状态综合判定Pod异常原因,具体检测项以诊断详情为准。 网络诊断 不涉及 根据诊断结果、访问全图及展开所有访问路径查看网络诊断详情。 - 正常