8.3. Kueue でよくある問題のトラブルシューティング
Red Hat OpenShift AI で Kueue ワークロードに関連するエラーが発生した場合は、このセクションを読んで、問題の原因と解決方法を理解してください。
問題がこのドキュメントまたはリリースノートに記載されていない場合は、Red Hat サポートにお問い合わせください。
8.3.1. Kueue の "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.kb.io\": failed to call webhook: Post \"https://kueue-webhook-service.redhat-ods-applications.svc:443/mutate-ray-io-v1-raycluster?timeout=10s\": no endpoints available for service \"kueue-webhook-service\"","reason":"InternalError","details":{"causes":[{"message":"failed calling webhook \"mraycluster.kb.io\": failed to call webhook: Post \"https://kueue-webhook-service.redhat-ods-applications.svc:443/mutate-ray-io-v1-raycluster?timeout=10s\": no endpoints available for service \"kueue-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.kb.io\": failed to call webhook: Post \"https://kueue-webhook-service.redhat-ods-applications.svc:443/mutate-ray-io-v1-raycluster?timeout=10s\": no endpoints available for service \"kueue-webhook-service\"","reason":"InternalError","details":{"causes":[{"message":"failed calling webhook \"mraycluster.kb.io\": failed to call webhook: Post \"https://kueue-webhook-service.redhat-ods-applications.svc:443/mutate-ray-io-v1-raycluster?timeout=10s\": no endpoints available for service \"kueue-webhook-service\""}]},"code":500}
診断
Kueue Pod が実行されていない可能性があります。
解決方法
- OpenShift コンソールで、Project リストからユーザーのプロジェクトを選択します。
-
Workloads
Pods をクリックします。 - Kueue Pod が実行されていることを確認します。必要に応じて、Kueue Pod を再起動します。
次の例に示すように、Kueue Pod のログをチェックして、Webhook サーバーが提供されていることを確認します。
{"level":"info","ts":"2024-06-24T14:36:24.255137871Z","logger":"controller-runtime.webhook","caller":"webhook/server.go:242","msg":"Serving webhook server","host":"","port":9443}{"level":"info","ts":"2024-06-24T14:36:24.255137871Z","logger":"controller-runtime.webhook","caller":"webhook/server.go:242","msg":"Serving webhook server","host":"","port":9443}Copy to Clipboard Copied! Toggle word wrap Toggle overflow
8.3.2. "Default Local Queue … not found" エラーメッセージが表示される リンクのコピーリンクがクリップボードにコピーされました!
問題
ユーザーが cluster.apply() コマンドを実行すると、次のエラーが表示されます。
Default Local Queue with kueue.x-k8s.io/default-queue: true annotation not found please create a default Local Queue or provide the local_queue name in Cluster Configuration.
Default Local Queue with kueue.x-k8s.io/default-queue: true annotation not found please create a default Local Queue or provide the local_queue name in Cluster Configuration.
診断
デフォルトのローカルキューが定義されておらず、クラスター設定でローカルキューが指定されていません。
解決方法
次のようにして、ユーザーのプロジェクトにローカルキューが存在するかどうかを確認します。
- OpenShift コンソールで、Project リストからユーザーのプロジェクトを選択します。
-
Home
Search をクリックし、Resources リストから LocalQueue を選択します。 - ローカルキューが見つからない場合は、ローカルキューを作成します。
- ユーザーにプロジェクト内のローカルキューの詳細を提供し、クラスター設定にローカルキューを追加するようアドバイスします。
デフォルトのローカルキューを定義します。
ローカルキューの作成とデフォルトのローカルキューの定義に関する詳細は、分散ワークロードのクォータ管理の設定 を参照してください。
8.3.3. "local_queue provided does not exist" エラーメッセージが表示される リンクのコピーリンクがクリップボードにコピーされました!
問題
ユーザーが cluster.apply() コマンドを実行すると、次のエラーが表示されます。
local_queue provided does not exist or is not in this namespace. Please provide the correct local_queue name in Cluster Configuration.
local_queue provided does not exist or is not in this namespace. Please provide the correct local_queue name in Cluster Configuration.
診断
クラスター設定内のローカルキューに誤った値が指定されているか、誤ったデフォルトのローカルキューが定義されています。指定されたローカルキューが存在しないか、別の namespace に存在します。
解決方法
OpenShift コンソールで、Project リストからユーザーのプロジェクトを選択します。
- Search をクリックし、Resources リストから LocalQueue を選択します。
次のいずれかの方法で問題を解決します。
- ローカルキューが見つからない場合は、ローカルキューを作成します。
-
ローカルキューが 1 つ以上見つかった場合は、プロジェクト内のローカルキューの詳細をユーザーに表示します。クラスター設定でローカルキュー名を正しく入力していること、およびクラスター設定内の
namespace値がプロジェクト名と一致していることを確認するように推奨します。
デフォルトのローカルキューを定義します。
ローカルキューの作成とデフォルトのローカルキューの定義に関する詳細は、分散ワークロードのクォータ管理の設定 を参照してください。
8.3.4. イメージがプルされる前に Kueue によってプロビジョニングされた Pod が終了する リンクのコピーリンクがクリップボードにコピーされました!
問題
Kueue は、すべてのワークロード Pod がプロビジョニングされ実行されるまで、一定期間待機してから、ワークロードを準備完了としてマークします。デフォルトでは、Kueue は 5 分間待機します。Pod イメージが非常に大きく、待機期間が 5 分間経過した後にプルされた場合、Kueue はワークロードに失敗し、関連する Pod を終了します。
診断
- OpenShift コンソールで、Project リストからユーザーのプロジェクトを選択します。
-
Workloads
Pods をクリックします。 - Pod 名をクリックすると、Pod の詳細ページが開きます。
- Events タブをクリックし、Pod イベントを確認し、イメージのプルが正常に完了したかどうかを確認します。
解決方法
Pod がイメージをプルするのに 5 分以上かかる場合は、次のいずれかの方法で問題を解決します。
-
Kueue によって管理されるリソースに対して
OnFailure再起動ポリシーを追加します。 -
Kueueカスタムリソース (CR) のwaitForPodsReadyプロパティーにカスタムタイムアウトを設定します。CR が Red Hat build of Kueue Operator によってopenshift-kueue-operatornamespace にインストールされます。
この設定オプションの詳細は、Kueue ドキュメントの waitForPodsReady の有効化 を参照してください。