9.5. 管理者向けの分散ワークロードに関する一般的な問題のトラブルシューティング
Red Hat OpenShift AI で分散ワークロードに関連するエラーが発生した場合は、このセクションを読んで、問題の原因と解決方法を理解してください。
問題がこのドキュメントまたはリリースノートに記載されていない場合は、Red Hat サポートにお問い合わせください。
9.5.1. Ray クラスターが一時停止状態である リンクのコピーリンクがクリップボードにコピーされました!
問題
クラスターキュー設定で指定されたリソースクォータが不十分であるか、リソースフレーバーがまだ作成されていない可能性があります。
診断
Ray クラスターのヘッド Pod またはワーカー Pod が一時停止状態のままです。RayCluster リソースで作成された Workload リソースのステータスを確認します。status.conditions.message フィールドには、次の例に示すように、一時停止状態の理由が示されます。
status:
conditions:
- lastTransitionTime: '2024-05-29T13:05:09Z'
message: 'couldn''t assign flavors to pod set small-group-jobtest12: insufficient quota for nvidia.com/gpu in flavor default-flavor in ClusterQueue'
status:
conditions:
- lastTransitionTime: '2024-05-29T13:05:09Z'
message: 'couldn''t assign flavors to pod set small-group-jobtest12: insufficient quota for nvidia.com/gpu in flavor default-flavor in ClusterQueue'
解決方法
次のようにして、リソースフレーバーが作成されたかどうかを確認します。
- OpenShift コンソールで、Project リストからユーザーのプロジェクトを選択します。
-
Home
Search をクリックし、Resources リストから ResourceFlavor を選択します。 - 必要に応じて、リソースフレーバーを作成します。
- コード内のクラスターキュー設定をチェックして、要求されたリソースがプロジェクトに定義されている制限内であることを確認します。
- 必要に応じて、リソースクォータを増やします。
リソースフレーバーとクォータの設定に関する詳細は、分散ワークロードのクォータ管理の設定 を参照してください。
9.5.2. Ray クラスターが失敗状態である リンクのコピーリンクがクリップボードにコピーされました!
問題
リソースが不足している可能性があります。
診断
Ray クラスターのヘッド Pod またはワーカー Pod が実行されていません。Ray クラスターが作成されると、最初に failed 状態になります。この失敗状態は通常、調整プロセスが完了し、Ray クラスター Pod が実行されると解決されます。
解決方法
失敗状態が続く場合は、次の手順を実行します。
- OpenShift コンソールで、Project リストからユーザーのプロジェクトを選択します。
-
Workloads
Pods をクリックします。 - Pod 名をクリックすると、Pod の詳細ページが開きます。
- Events タブをクリックし、Pod イベントを確認して問題の原因を特定します。
-
RayClusterリソースで作成されたWorkloadリソースのステータスを確認します。status.conditions.messageフィールドには、失敗した状態の理由が示されます。
9.5.3. CodeFlare Operator の "failed to call webhook" エラーメッセージが表示される リンクのコピーリンクがクリップボードにコピーされました!
問題
ユーザーが cluster.apply() コマンドを実行すると、次のエラーが表示されます。
ApiException: (500)
Reason: Internal Server Error
HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"Internal error occurred: failed calling webhook \"mraycluster.ray.openshift.ai\": failed to call webhook: Post \"https://codeflare-operator-webhook-service.redhat-ods-applications.svc:443/mutate-ray-io-v1-raycluster?timeout=10s\": no endpoints available for service \"codeflare-operator-webhook-service\"","reason":"InternalError","details":{"causes":[{"message":"failed calling webhook \"mraycluster.ray.openshift.ai\": failed to call webhook: Post \"https://codeflare-operator-webhook-service.redhat-ods-applications.svc:443/mutate-ray-io-v1-raycluster?timeout=10s\": no endpoints available for service \"codeflare-operator-webhook-service\""}]},"code":500}
ApiException: (500)
Reason: Internal Server Error
HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"Internal error occurred: failed calling webhook \"mraycluster.ray.openshift.ai\": failed to call webhook: Post \"https://codeflare-operator-webhook-service.redhat-ods-applications.svc:443/mutate-ray-io-v1-raycluster?timeout=10s\": no endpoints available for service \"codeflare-operator-webhook-service\"","reason":"InternalError","details":{"causes":[{"message":"failed calling webhook \"mraycluster.ray.openshift.ai\": failed to call webhook: Post \"https://codeflare-operator-webhook-service.redhat-ods-applications.svc:443/mutate-ray-io-v1-raycluster?timeout=10s\": no endpoints available for service \"codeflare-operator-webhook-service\""}]},"code":500}
診断
CodeFlare Operator Pod が実行されていない可能性があります。
解決方法
- OpenShift コンソールで、Project リストからユーザーのプロジェクトを選択します。
-
Workloads
Pods をクリックします。 - CodeFlare Operator Pod が実行されていることを確認します。必要に応じて、CodeFlare Operator Pod を再起動します。
次の例に示すように、CodeFlare Operator Pod のログを確認して、Webhook サーバーが機能していることを確認します。
INFO controller-runtime.webhook Serving webhook server {"host": "", "port": 9443}INFO controller-runtime.webhook Serving webhook server {"host": "", "port": 9443}Copy to Clipboard Copied! Toggle word wrap Toggle overflow
9.5.4. Ray クラスターが起動しない リンクのコピーリンクがクリップボードにコピーされました!
問題
cluster.apply() コマンドを実行した後、cluster.details() コマンドまたは cluster.status() コマンドのいずれかを実行すると、Ray Cluster は Ready ステータスに変わることなく、Starting ステータスのままになります。Pod は作成されません。
診断
RayCluster リソースで作成された Workload リソースのステータスを確認します。status.conditions.message フィールドには、開始 状態のままである理由が示されます。同様に、RayCluster リソースの status.conditions.message フィールドを確認します。
解決方法
- OpenShift コンソールで、Project リストからユーザーのプロジェクトを選択します。
-
Workloads
Pods をクリックします。 - KubeRay Pod が実行されていることを確認します。必要に応じて KubeRay Pod を再起動します。
- KubeRay Pod のログを確認してエラーを特定します。
9.5.5. Ray クラスターを作成したり、ジョブを送信したりできない リンクのコピーリンクがクリップボードにコピーされました!
問題
cluster.apply() コマンドを実行すると、次のテキストのようなエラーが表示されます。
RuntimeError: Failed to get RayCluster CustomResourceDefinition: (403)
Reason: Forbidden
HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"rayclusters.ray.io is forbidden: User \"system:serviceaccount:regularuser-project:regularuser-workbench\" cannot list resource \"rayclusters\" in API group \"ray.io\" in the namespace \"regularuser-project\"","reason":"Forbidden","details":{"group":"ray.io","kind":"rayclusters"},"code":403}
RuntimeError: Failed to get RayCluster CustomResourceDefinition: (403)
Reason: Forbidden
HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"rayclusters.ray.io is forbidden: User \"system:serviceaccount:regularuser-project:regularuser-workbench\" cannot list resource \"rayclusters\" in API group \"ray.io\" in the namespace \"regularuser-project\"","reason":"Forbidden","details":{"group":"ray.io","kind":"rayclusters"},"code":403}
診断
ノートブックコードの TokenAuthentication セクションに正しい OpenShift ログイン認証情報が指定されていません。
解決方法
次のように、正しい OpenShift ログイン認証情報を特定して指定するように推奨します。
- OpenShift コンソールのヘッダーで、ユーザー名をクリックし、ログインコマンドのコピー をクリックします。
- 開いた新しいタブから、認証情報を使用するユーザーとしてログインします。
- Display Token をクリックします。
-
Log in with this token セクションから、
tokenおよびserverの値をコピーします。 ノートブックコードで、コピーした
tokenとserverの値を以下のように指定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
ユーザーに適切な権限があり、
rhods-usersグループに属していることを確認します。