在 Google Cloud 控制台中评估集群和工作负载的健康状况


当您需要快速检查 Google Kubernetes Engine (GKE) 集群和工作负载的健康状况时,可能很难知道从何处着手。在 Google Cloud 控制台中直观呈现集群和工作负载的健康状况有助于您快速评估环境状态。集群健康状况是指底层 GKE 基础架构(如节点和网络)的健康状况,而工作负载健康状况是指集群上运行的应用的状态和性能。

本页介绍了如何浏览 Kubernetes 集群和工作负载页面,以获取高级别概览、发现潜在问题(例如资源压力过大的节点或失败的 Pod),并深入了解特定资源以获取更多详细信息。

对于负责维护集群稳定性并需要快速进行健康状况评估和资源检查的平台管理员和操作员来说,这些信息非常重要。对于需要了解部署的运行时状态并调查失败情况的应用开发者来说,这也是必不可少的。如需详细了解我们在 Google Cloud 内容中提及的常见角色和示例任务,请参阅常见的 GKE 用户角色和任务

为了让您全面了解应用的健康状况, Google Cloud 控制台还提供强大的日志记录和监控工具,让您能够调查过去故障的根本原因,并主动预防未来发生类似问题。如需详细了解这些工具,请参阅使用 Cloud Logging 进行历史分析使用 Cloud Monitoring 执行主动监控

查找集群问题

Kubernetes 集群页面可让您大致了解集群的健康状况。如要确定任何集群问题,不妨从此页面着手。

以下是一些示例,展示了如何使用此页面进行问题排查:

  • 如需有关改进集群健康状况、升级策略和费用优化的建议,请点击查看建议
  • 如需识别健康状况不佳的集群,请查看状态列。任何没有绿色对勾标记的集群都需要注意。
  • 如需查看潜在问题,请查看通知列。点击任意通知消息即可了解详情。

调查特定集群

发现集群存在问题后,您可以探索相应集群的详情页面,获取有助于排查集群问题并了解其配置的深入信息。

如需前往集群的详情页面,请执行以下操作:

  1. 转到 Kubernetes 集群页面

    转到 KUBERNETES 集群

  2. 查看名称列,然后点击要调查的集群的名称。

以下是一些示例,展示了如何使用集群详情页面排查集群问题:

  • 对于常规健康检查,请尝试以下选项:

    • 如需查看集群级信息中心,请前往可观测性标签页。默认情况下,GKE 会在您创建集群时启用 Cloud Monitoring。启用 Cloud Monitoring 后,GKE 会自动设置此页面上的信息中心。以下视图可能非常有助于问题排查:

      • 概览:查看集群的健康状况、资源利用率和关键事件的简要摘要。此信息中心可帮助您快速评估集群的总体状态并找出潜在问题。
      • 流量指标:查看基于节点的网络指标,深入了解 Kubernetes 工作负载之间的流量。
      • 工作负载状态:查看 Deployment、Pod 和容器的状态。识别出现故障或健康状况不佳的实例,并检测资源限制条件。
      • 控制平面:查看控制平面的健康状况和性能。借助此信息中心,您可以监控 kube-apiserveretcd 等组件的关键指标,识别性能瓶颈,并检测组件故障。

    • 如需查看近期发生的应用错误,请前往应用错误标签页。此标签页会显示错误发生次数、首次发生时间以及上次发生时间,可帮助您确定错误优先级并按优先顺序解决问题。

      如需进一步调查错误,请点击相应错误消息以查看详细的错误报告,其中包含相关日志的链接。

  • 如果您是在最近升级或变更后排查问题,请查看集群详情标签页中的集群基本信息部分。确认版本字段中是否列出所需版本。如需进一步调查,请点击升级部分中的显示升级历史记录

  • 如果您使用的是 Standard 集群,并且 Pod 陷入 Pending 状态,或者您怀疑节点过载,请检查节点标签页。Autopilot 集群没有节点标签页,因为对于此类集群,GKE 会为您管理节点。

    • 节点池部分中,检查自动扩缩是否正确配置,以及机器类型是否适合您的工作负载。
    • 节点部分中,查找是否有任何节点的状态不是 ReadyNotReady 状态表示节点本身存在问题,例如资源压力或 kubelet 问题(kubelet 是在每个节点上运行以管理容器的代理)。

查找工作负载问题

如果您怀疑特定应用(例如 Deployment 失败的应用)存在问题,请前往 Google Cloud 控制台中的工作负载页面。此页面集中显示了集群中运行的所有应用。

以下是一些示例,展示了如何使用此页面进行问题排查:

  • 如需识别健康状况不佳的工作负载,请查看状态列。任何没有绿色对勾标记的工作负载都需要注意。
  • 如果应用无响应,请查看 Pod 列。例如,如果状态为 1/3,则表示三个应用副本中只有一个在运行,这表明存在问题。

调查特定工作负载

当您通过概况确定存在问题的工作负载后,请探索相应工作负载的详情页面,开始隔离导致问题的根本原因。

如需前往工作负载的详情页面,请执行以下操作:

  1. 转到工作负载页面。

    转到“工作负载”

  2. 查看名称列,然后点击要调查的工作负载的名称。

以下是一些示例,展示了如何使用工作负载详情页面排查工作负载问题:

  • 如需检查工作负载的配置,请使用工作负载的概览详情标签页。您可以使用此信息来验证事件(例如是否部署了正确的容器映像标记),或检查工作负载的资源请求和限制。

  • 如需查找特定崩溃 Pod 的名称,请前往托管式 Pod 部分。您可能需要此信息来执行 kubectl 命令。此部分列出了由工作负载控制的所有 Pod,以及它们的状态。

  • 如需查看工作负载的近期更改记录,请前往修订历史记录标签页。如果您在实施新部署后发现性能问题,请参阅本部分内容,确定哪个修订版本处于有效状态。然后,您可以将当前修订版本的配置与之前的修订版本进行比较,以找出问题的根源。如果未显示此标签页,则表示相应工作负载要么是不使用修订版本的类型,要么尚未进行任何更新。

  • 如果部署似乎失败,请前往事件标签页。此页面通常是最有价值的信息来源,因为它会显示 Kubernetes 级事件。

  • 如需查看应用的日志,请点击日志标签页。此页面可帮助您了解集群内部发生的情况。您可以在此处查找有助于诊断问题的错误消息和堆栈轨迹。

  • 如需确切了解部署的内容,请查看 YAML 标签页。此页面显示工作负载在集群中的实时 YAML 清单。此信息有助于发现与受源代码控制的清单之间的任何差异。如果您正在查看单个 Pod 的 YAML 清单,此标签页还会显示该 Pod 的状态,从而提供有关 Pod 级故障的数据洞见。

后续步骤