4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ZOZOAdvent Calendar 2024

Day 5

Ray ClusterのGlobal Control Store(GCS)コンポーネントをRedisで置き換える

Last updated at Posted at 2024-12-04

これは ZOZO Advent Calendar 2024 カレンダー Vol.9 の 5日目の記事です。

はじめに

昨日はRay ClusterのWorker NodeでService Accountを指定するというタイトルで、Ray Clusterに関する記事を投稿しました。
昨日に引き続き、本日もRay Cluster関連の投稿になります。Ray Clusterについては1日目の記事(GKE上に構成したRay Clusterに外部Load Balancer経由でアクセスする)で簡単に説明しているため、ご参照ください。

本記事では、Ray ClusterのGlobal Control Storeコンポーネント(以下GCS)をGoogle CloudのマネージドサービスであるMemorystore for Redisに置き換える方法をご紹介します。

Global Control Store(GCS)とは

GCSはRay Clusterにおけるmetadataサーバーの役割をしており、stateを管理します。
デフォルトではHead Nodeのメモリ上でstateを持ちますが、Ray ClusterではHead NodeはPodであるため、単一障害点となります。
フォールトトレランスの観点から今回はGCSコンポーネントをMemorystore for Redisで置き換えます。

GCSのRedisでの置き換え

Memorystore for Redisの構成については割愛します。公式ドキュメントを参考に事前構築し、Ray ClusterのHead Nodeから通信できるように、Ray Clusterを構成するVPCとPeeringしてください。

Ray Clusterでは、RayClusterオブジェクトのマニフェストで指定することにより、GCSを指定したRedisインスタンスに置き換えることができます。

RayClusterのマニフェストについて、以下のAnnotationとHead Nodeの環境変数を指定するようにしてください。

ray-cluster.yaml
apiVersion: ray.io/v1
kind: RayCluster
metadata:
  annotations:
    ray.io/ft-enabled: "true"
spec:
  headGroupSpec:
    template:
      spec:
        containers:
        - env:
          - name: RAY_REDIS_ADDRESS
            value: <redisip>:<redis-port>
          - name: ENABLE_GCS_FT_REDIS_CLEANUP
            value: "true"

環境変数のENABLE_GCS_FT_REDIS_CLEANUPはGCS metadataの自動削除を制御するパラメータになります。デフォルトではtrueとなっており、Jobの失敗時にベストエフォートでRedisからmetadataが自動削除されます。

詳細は公式ドキュメントで説明されているためご参照ください。

参考資料

4
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?