本頁面說明如何設定 Google Kubernetes Engine (GKE),以便收集在 Google Kubernetes Engine (GKE) 上執行的 Ray 叢集記錄和指標,以及如何在 Cloud Logging 和 Cloud Monitoring 中查看 Ray 記錄和指標。
如要進一步瞭解 Ray 和 KubeRay,請參閱 Google Kubernetes Engine (GKE) 上的 Ray 總覽。
事前準備
開始之前,請確認您已完成下列工作:
- 啟用 Google Kubernetes Engine API。 啟用 Google Kubernetes Engine API
- 如要使用 Google Cloud CLI 執行這項工作,請安裝並初始化 gcloud CLI。如果您先前已安裝 gcloud CLI,請執行
gcloud components update
,取得最新版本。
需求條件和限制
- 如要為 Ray 叢集啟用記錄檔收集功能,您必須先在現有的 GKE 叢集上啟用系統和工作負載記錄功能。
- 如果您在現有 GKE 叢集上啟用 Ray 叢集的記錄收集功能,GKE 只會收集新建立的 Ray Pod 記錄,不會收集現有 Ray Pod 的記錄。
- 如果是 Standard 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」頁面。
依序點按「建立」
,然後在「標準」或「Autopilot」部分中,點按「設定」。在導覽窗格的「Cluster」(叢集) 底下,按一下「Features」(功能)。
在「Operations」(作業) 區段中,確認已勾選「System and Workloads」(系統和工作負載) 核取方塊。
在「AI and Machine Learning」(AI 和機器學習) 專區中,選取「Enable Ray Operator」(啟用 Ray 運算子),然後選取「Enable log collection for Ray clusters」(啟用 Ray 叢集的記錄檔收集功能)。
點選「建立」。
如果是 Standard 叢集,您也必須啟用 Google Cloud Managed Service for Prometheus。
gcloud
使用 --addons=RayOperator
選項和 --enable-ray-cluster-logging
選項建立叢集:
gcloud container clusters create CLUSTER_NAME \
--location=LOCATION \
--addons=RayOperator \
--enable-ray-cluster-logging
更改下列內容:
CLUSTER_NAME
:新叢集的名稱。LOCATION
:新叢集的位置,例如 us-central1。
如要在現有叢集上啟用 Ray 叢集的記錄收集功能,請使用 gcloud container clusters update
指令,並搭配 --addons=RayOperator
選項和 --enable-ray-cluster-logging
選項。
查看 Ray 記錄
您可以使用 Logging 查看從 GKE 上執行的 Ray 叢集收集的記錄。
前往 Google Cloud 控制台的「Cloud Logging」頁面。
開啟查詢編輯器,然後將運算式貼到查詢編輯器中
按一下「執行查詢」
您可以在記錄檔探索工具中使用下列查詢範例:
查詢/篩選器名稱 | 運算式 |
---|---|
所有 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 叢集收集指標。GKE 會以 Prometheus 格式收集 Ray 匯出的所有系統指標。
您可以使用Google Cloud 控制台或 gcloud CLI,為 Ray 叢集啟用指標收集功能。
主控台
前往 Google Cloud 控制台的「Google Kubernetes Engine」頁面。
依序點按「建立」
,然後在「標準」或「Autopilot」部分中,點按「設定」。在導覽窗格的「Cluster」(叢集) 底下,按一下「Features」(功能)。
在「Operations」(作業) 區段中,確認已勾選「System and Workloads」(系統和工作負載) 核取方塊。
在「AI and Machine Learning」(人工智慧與機器學習) 專區中,選取「Enable Ray Operator」(啟用 Ray Operator),然後選取「Enable metrics collection for Ray clusters」(啟用 Ray 叢集的指標收集功能)。
點選「建立」。
如果是 Standard 叢集,您也必須啟用 Google Cloud Managed Service for Prometheus。
gcloud
使用 --addons=RayOperator
選項和 --enable-ray-cluster-monitoring
選項建立叢集:
gcloud container clusters create CLUSTER_NAME \
--location=LOCATION \
--addons=RayOperator \
--enable-ray-cluster-monitoring
更改下列內容:
CLUSTER_NAME
:新叢集的名稱。LOCATION
:新叢集的位置,例如 us-central1。
如要在現有叢集上啟用 Ray 叢集的記錄收集功能,請使用 gcloud container clusters update
指令,並搭配 --addons=RayOperator
選項和 --enable-ray-cluster-monitoring
選項。
查看 Ray 指標
Google Cloud Managed Service for Prometheus 提供預先設定的「Ray on GKE 總覽」資訊主頁,集中顯示重要的 Ray 指標。建議您使用這種方式,快速開始監控 GKE 上的 Ray 叢集。
為 Ray 叢集啟用指標收集功能後,系統就會自動填入資訊主頁。
或者,如要探索從 GKE 上執行的 Ray 叢集收集的個別指標,請按照下列步驟操作:
前往 Google Cloud 控制台的「Metrics Explorer」頁面。
在「選取指標」欄位中,您可以搜尋 Ray 專屬指標。 這些指標通常會加上
prometheus/ray_
前置字元。例如prometheus/ray_worker_cpu_seconds_total
或prometheus/ray_memory_bytes_max
。選取適當的資源類型 (例如
k8s_pod
、k8s_container
),並依與 Ray 叢集相關的標籤 (例如ray.io/cluster
) 篩選,進一步縮小搜尋範圍。
後續步驟
- 瞭解 Kubernetes 上的 Ray。
- 參閱 KubeRay 說明文件。