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

前提条件

适用场景

您已明确当前故障所在Pod或节点:

对于节点诊断或者Pod诊断,您只需单击诊断,即可获取具体的诊断结果及修复建议。或者您可在诊断配置面板输入对应诊断项参数后,获取具体的结果及建议。

操作步骤

  1. 登录容器服务管理控制台
  2. 在控制台左侧导航栏中,单击集群
  3. 集群列表页面中,单击目标集群名称或者目标集群右侧操作列下的详情
  4. 您可以按需选择以下任意方式使用节点诊断Pod诊断
    • 节点诊断
      • 方式一:
        1. 在集群管理页左侧导航栏中,选择节点管理 > 节点
        2. 在需要诊断的节点实例的右侧选择更多 > 故障诊断

          控制台跳转到容器智能运维控制台,直接开始节点诊断。

      • 方式二:
        1. 在集群管理页左侧导航栏中,选择运维管理 > 集群检查
        2. 容器智能运维控制台的左侧导航栏中选择检查 > 故障诊断
        3. 故障诊断页面,单击节点诊断
        4. 选择节点面板,输入节点名称,然后选中我已知晓并同意,单击发起诊断
          参数 说明
          节点名称 目标节点名称。例如cn-hangzhou.10.160.XX.XX
    • Pod诊断
      • 方式一:
        1. 在集群管理页左侧导航栏中,选择工作负载 > 容器组
        2. 在顶部的命名空间下拉列表中,选择命名空间。
        3. 在需要诊断的Pod实例的右侧单击诊断

          控制台跳转到容器智能运维控制台,直接开始Pod诊断。

      • 方式二:
        1. 在集群管理页左侧导航栏中,选择运维管理 > 集群检查
        2. 容器智能运维控制台的左侧导航栏中选择检查 > 故障诊断
        3. 故障诊断页面,单击Pod诊断
        4. 选择Pod面板,输入节点名称,然后选中我已知晓并同意,单击发起诊断
          参数 说明
          Pod Namespace 目标Pod所在命名空间
          Pod Name 目标Pod名称
    重要 诊断操作需要在您的集群节点上执行数据采集程序并收集检查结果,采集的信息包括系统版本、负载、Docker、kubelet等组件运行状态及系统日志中关键错误信息,不会采集任何和客户相关的业务信息以及敏感数据。
  5. 在故障诊断列表页面,单击目标诊断项右侧操作列的诊断详情
    关于诊断详情的说明如下表所示:
    诊断项 诊断界面 检查项状态 说明
    节点诊断 节点诊断
    • 正常正常:无需处理。
    • 警告警告:需要确认,引起集群异常的情况需要处理。
    • 异常异常:尽快处理,避免集群无法正常工作。
    • 未知未知:未正常完成检查或结果未知。
    诊断详情页中,会给出诊断结果、修复建议及具体的诊断项列表。
    • 鼠标悬浮在检查项右侧详情图标.png图标上,即可查看检查项说明。
    • 如果有异常或警告类的检查项,会显示在待处理页签中。
    • 检查项状态为异常时,可以在目标检查项右侧状态中的查看详情的Tips中查看异常。
    • 节点诊断包括NodeNodeComponentClusterComponent三类检查项,通过ECS状态、Node状态、机器信息采集及集群组件状态综合判定节点异常原因,具体检测项以诊断详情为准。
    Pod诊断 Pod诊断 Pod诊断包括PodNodeNodeComponentClusterComponent四类检查项。通过Pod状态、节点状态、集群组件状态综合判定Pod异常原因,具体检测项以诊断详情为准。