阿里云容器服务ACK提供一键故障诊断能力,包括节点诊断、Pod诊断、网络诊断,可以辅助您定位集群中出现的问题。本文主要介绍如何在ACK集群中使用故障诊断功能。

前提条件

适用场景

您已明确当前故障所在Pod、节点或网络,单击节点诊断Pod诊断网络诊断后需要输入对应诊断项参数,发起诊断后可获取具体的诊断结果及修复建议。

使用限制

目前仅支持在华北5(呼和浩特)、西南1(成都)、华北3(张家口)及华南2(河源)地域使用集群故障诊断功能。

操作步骤

  1. 登录容器服务管理控制台
  2. 在控制台左侧导航栏中,单击集群
  3. 集群列表页面中,单击目标集群名称或者目标集群右侧操作列下的详情
  4. 在集群管理页左侧导航栏中,选择运维管理 > 集群检查
  5. 容器服务运维中心的左侧导航栏中选择评测 > 故障诊断
  6. 单击节点诊断Pod诊断网络诊断,在对应诊断配置面板配置参数。
    关于诊断项的参数介绍如下表所示:
    诊断项 参数 说明
    节点诊断 节点名称:目标节点名称。例如,cn-hangzhou.10.160.XX.XX 如果某个节点的状态为NotReady,输入对应节点名称执行节点诊断,检测集群配置及机器进程状态等,给出诊断项和诊断结果。
    Pod诊断
    • Pod Namespace:目标Pod所在命名空间。
    • Pod Name:目标Pod名称。
    输入对应Pod的命名空间和名称执行Pod诊断,会检测Pod状态、配置、所属节点状态等检查项,给出诊断项和诊断结果。
    网络诊断
    • 源地址:源地址IP。
    • 目的地址:目的地址IP。
    • 端口:目的端口。
    • 报文跟踪:选择是否需要报文跟踪。主机会实际发送TCP或UDP报文,在对应的网络节点上尝试捕获这些报文,根据报文到达的位置,判断哪些链路上会丢包。报文追踪需要运行1~5分钟。
    执行网络诊断,输入源地址、目的地址和目的端口,可以模拟网络访问,给出诊断结果。
    注意 诊断操作需要在您的集群节点上执行数据采集程序并收集检查结果,采集的信息包括系统版本、负载、Docker、kubelet等组件运行状态及系统日志中关键错误信息,不会采集任何和客户相关的业务信息以及敏感数据。

    配置相关参数后,选中我已知晓并同意,单击发起诊断

  7. 在故障诊断列表,单击目标诊断项右侧操作列的诊断详情
    关于诊断详情的说明如下表所示:
    诊断项 诊断界面 检查项状态 说明
    节点诊断 节点诊断
    • 正常正常:无需处理。
    • 警告警告:需要确认,引起集群异常的情况需要处理。
    • 异常异常:尽快处理,避免集群无法正常工作。
    • 未知未知:未正常完成检查或结果未知。
    诊断详情页中,会给出诊断结果、修复建议及具体的诊断项列表。
    • 如果有异常或警告类的检查项,会显示在待处理页签中。
    • 检查项状态为异常时,可以在目标检查项右侧状态中的查看详情的Tips中查看异常。
    • 节点诊断包括NodeNetworkNodeComponentClusterComponent四类检查项,通过ECS状态、Node状态、机器信息采集及集群组件状态综合判定节点异常原因,具体检测项以诊断详情为准。
    Pod诊断 Pod诊断 Pod诊断包括PodNodeNetworkNodeComponentClusterComponent五类检查项。通过Pod状态、节点状态、集群组件状态综合判定Pod异常原因,具体检测项以诊断详情为准。
    网络诊断 网络诊断 不涉及 根据诊断结果访问全图展开所有访问路径查看网络诊断详情。