收集和查看 Google Kubernetes Engine (GKE) 上的 Ray 集群的日志和指标


本页面介绍如何配置 Google Kubernetes Engine (GKE) 以收集在 Google Kubernetes Engine (GKE) 上运行的 Ray 集群的日志和指标,以及如何在 Cloud Logging 和 Cloud Monitoring 中查看 Ray 日志和指标。

如需详细了解 Ray 和 KubeRay,请参阅 Ray on Google Kubernetes Engine (GKE) 概览

准备工作

在开始之前,请确保您已执行以下任务:

  • 启用 Google Kubernetes Engine API。
  • 启用 Google Kubernetes Engine API
  • 如果您要使用 Google Cloud CLI 执行此任务,请安装初始化 gcloud CLI。 如果您之前安装了 gcloud CLI,请运行 gcloud components update 以获取最新版本。

要求和限制

  • 您必须先在现有 GKE 集群上启用系统和工作负载日志记录,然后才能对 Ray 集群启用日志收集。
  • 如果您对现有 GKE 集群上的 Ray 集群启用日志收集,则 GKE 只会从新创建的 Ray Pod 中收集日志,而不会从现有 Ray Pod 中收集日志。
  • 对于标准 GKE 集群,您必须启用 Google Cloud Managed Service for Prometheus,才能对 Ray 集群启用指标收集功能。对于 Autopilot 集群,Google Cloud Managed Service for Prometheus 默认处于启用状态。
  • 不得在 Ray 集群的任何 Ray 容器中指定名为 ray-logs 的卷。否则,GKE 将不会收集日志。

对 Ray 集群启用日志收集

您可以在使用新的或现有 Autopilot 或 Standard GKE 集群的情况下,对 Ray 集群启用日志收集。GKE 从 Ray 集群收集的 Ray 日志被归类为容器日志。这包括由 Ray 集群标头和工作器节点生成的所有日志。

您可以使用 Google Cloud 控制台或 gcloud CLI 对 Ray 集群启用日志收集。

控制台

  1. 转到 Google Cloud 控制台中的 Google Kubernetes Engine 页面。

    转到 Google Kubernetes Engine

  2. 点击 创建,然后在Standard 或 Autopilot 部分中点击配置

  3. 在导航窗格的集群下,点击功能

  4. 操作部分中,确保选中 System and Workloads(系统和工作负载)复选框。

  5. AI 和机器学习部分中,选择启用 Ray Operator,然后选择对 Ray 集群启用日志收集

  6. 点击创建

对于 Standard 集群,您还必须启用 Google Cloud Managed Service for Prometheus。

gcloud

使用 --addons=RayOperator 选项和 --enable-ray-cluster-logging 选项创建集群:

gcloud container clusters create CLUSTER_NAME \
    --cluster-version=VERSION \
    --addons=RayOperator \
    --enable-ray-cluster-logging

替换以下内容:

  • CLUSTER_NAME:新集群的名称。
  • VERSION:GKE 版本,必须为 1.30.2-gke.1060005 或更高版本。您还可以使用 --release-channel 选项来选择发布渠道。发布渠道的默认版本必须为 1.30.2-gke.106000 或更高版本。

您可以使用 gcloud container clusters update 命令以及 --addons=RayOperator 选项和 --enable-ray-cluster-logging 选项,对现有集群上的 Ray 集群启用日志收集。

查看 Ray 日志

您可以使用 Logging 查看从 GKE 上运行的 Ray 集群收集的日志。

  1. 转到 Google Cloud 控制台中的 Cloud Logging 页面。

    转到 Cloud Logging

  2. 打开查询编辑器并将表达式粘贴到查询编辑器中

  3. 点击运行查询

您可以在 Logs Explorer 中使用以下示例查询:

查询/过滤条件名称 表达式
所有 Ray 日志
resource.type="k8s_container"
labels."k8s-pod/ray_io/is-ray-node"="yes"
所有 Ray 头日志
resource.type="k8s_container"
labels."k8s-pod/ray_io/node-type"="head"
Ray 集群中的所有日志
resource.type="k8s_container"
labels."k8s-pod/ray_io/cluster"="RAY_CLUSTER_NAME"
来自 Ray 作业的所有日志
resource.type="k8s_container"
jsonPayload.ray_submission_id="RAY_JOB_SUBMISSION_ID"

对 Ray 集群启用指标收集

您可以在使用新的或现有 Autopilot 或 Standard GKE 集群的情况下,对 Ray 集群启用指标收集。

对 Ray 集群启用指标收集后,GKE 会从现有 Ray 集群和新的 Ray 集群收集指标。GKE 会以 Prometheus 格式收集 Ray 导出的所有系统指标。

您可以使用 Google Cloud 控制台或 gcloud CLI 对 Ray 集群启用指标收集。

控制台

  1. 转到 Google Cloud 控制台中的 Google Kubernetes Engine 页面。

    转到 Google Kubernetes Engine

  2. 点击 创建,然后在Standard 或 Autopilot 部分中点击配置

  3. 在导航窗格的集群下,点击功能

  4. 操作部分中,确保选中 System and Workloads(系统和工作负载)复选框。

  5. AI 和机器学习部分中,选择启用 Ray Operator,然后选择对 Ray 集群启用指标收集

  6. 点击创建

对于 Standard 集群,您还必须启用 Google Cloud Managed Service for Prometheus。

gcloud

使用 --addons=RayOperator 选项和 --enable-ray-cluster-monitoring 选项创建集群:

gcloud container clusters create CLUSTER_NAME \
    --cluster-version=VERSION \
    --addons=RayOperator \
    --enable-ray-cluster-monitoring

替换以下内容:

  • CLUSTER_NAME:新集群的名称。
  • VERSION:GKE 版本,必须为 1.30.2-gke.1060005 或更高版本。您还可以使用 --release-channel 选项来选择发布渠道。发布渠道的默认版本必须为 1.30.2-gke.106000 或更高版本。

您可以使用 gcloud container clusters update 命令以及 --addons=RayOperator 选项和 --enable-ray-cluster-monitoring 选项,对现有集群上的 Ray 集群启用日志收集。

查看 Ray 指标

您可以使用 Monitoring 查看从 GKE 上运行的 Ray 集群收集的指标。

  1. 转到 Google Cloud 控制台中的 Metrics Explorer 页面。

    进入 Metrics Explorer

  2. 选择一个指标下拉菜单中,输入 Prometheus 目标

  3. 活跃指标类别部分中,选择 Ray

后续步骤