本页面介绍如何配置 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 集群启用日志收集。
控制台
转到 Google Cloud 控制台中的 Google Kubernetes Engine 页面。
点击
创建,然后在Standard 或 Autopilot 部分中点击配置。在导航窗格的集群下,点击功能。
在操作部分中,确保选中 System and Workloads(系统和工作负载)复选框。
在 AI 和机器学习部分中,选择启用 Ray Operator,然后选择对 Ray 集群启用日志收集。
点击创建。
对于 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 集群收集的日志。
转到 Google Cloud 控制台中的 Cloud Logging 页面。
打开查询编辑器并将表达式粘贴到查询编辑器中
点击运行查询
您可以在 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 集群启用指标收集。
控制台
转到 Google Cloud 控制台中的 Google Kubernetes Engine 页面。
点击
创建,然后在Standard 或 Autopilot 部分中点击配置。在导航窗格的集群下,点击功能。
在操作部分中,确保选中 System and Workloads(系统和工作负载)复选框。
在 AI 和机器学习部分中,选择启用 Ray Operator,然后选择对 Ray 集群启用指标收集。
点击创建。
对于 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 集群收集的指标。
转到 Google Cloud 控制台中的 Metrics Explorer 页面。
在选择一个指标下拉菜单中,输入 Prometheus 目标。
在活跃指标类别部分中,选择 Ray。
后续步骤
- 了解 Ray on Kubernetes。
- 浏览 KubeRay 文档。