Ray は、スケーラブルな人工知能 (AI) および Python アプリケーションを構築するためのオープンソースフレームワークで、機械学習で広く使用されています。Container Service for Kubernetes (ACK) 上に Ray クラスターをデプロイして、これらのアプリケーションを実行します。
前提条件
ACK マネージド Pro クラスターが作成済みであること。詳細については、「ACK マネージドクラスターの作成」をご参照ください。
クラスターバージョン:v1.24 以降。クラスターのバージョンをアップグレードするには、「クラスターの手動アップグレード」をご参照ください。
ノード仕様:クラスターには、8 vCPU および 32 GiB 以上のメモリを持つノードが少なくとも 1 つ含まれている必要があります。Elastic Compute Service (ECS) がサポートするインスタンスタイプの詳細については、「インスタンスファミリーの概要」をご参照ください。
この例で推奨されるノード仕様は、テスト環境にのみ適用されます。本番環境では、実際の要件に基づいてノード仕様を選択してください。GPU 高速化ノードを使用するには、「クラスターへの GPU ノードの追加」をご参照ください。
ローカルマシンに kubectl をインストールし、 Kubernetes クラスターに接続済みであること。詳細については、「kubectl を使用した ACK クラスターへの接続」をご参照ください。
KubeRay Operator アドオンがインストール済みであること。詳細については、「ACK への KubeRay アドオンのインストール」をご参照ください。
Ray クラスターのデプロイ
demo-ray-cluster という名前の RayCluster を作成し、デプロイステータスを確認します。
次の内容で
ray-cluster.yamlファイルを作成します。重要次のサンプル YAML で使用されているイメージ (
registry-cn-hangzhou.ack.aliyuncs.com/ack-demo/ray) はデモンストレーションのみを目的としており、サンプルイメージの Ray バージョンは古い可能性があります。本番環境では、要件に基づいてイメージを置き換えてください。たとえば、Ray オープンソースコミュニティの最新のイメージに置き換えることができます。詳細については、「ACK 上の Ray の責任共有」をご参照ください。サンプルの RayCluster リソースを作成します。
kubectl apply -f ray-cluster.yaml
RayCluster とその関連リソースのデプロイステータスを確認します。
RayCluster のデプロイステータスを確認します。
kubectl get raycluster demo-ray-cluster想定される出力:
NAME DESIRED WORKERS AVAILABLE WORKERS CPUS MEMORY GPUS STATUS AGE demo-ray-cluster 1 1 3 6Gi 0 ready 32sRayCluster の Pod を確認します。
kubectl get pod想定される出力:
NAME READY STATUS RESTARTS AGE demo-ray-cluster-head-mdvzb 1/1 Running 0 46s demo-ray-cluster-worker-group-worker-c6zvw 1/1 Running 0 46sRayCluster の Service を確認します。
kubectl get svc想定される出力:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE demo-ray-cluster-head-svc ClusterIP 172.16.123.45 10001/TCP,8265/TCP,6379/TCP,8080/TCP,8000/TCP 56s kubernetes ClusterIP 172.16.0.1 443/TCP 48d