6.4. Dynamic Accelerator Slicer Operator のトラブルシューティング
Dynamic Accelerator Slicer (DAS) Operator で問題が発生した場合は、次のトラブルシューティング手順を使用して問題を診断し、解決してください。
前提条件
- DAS Operator がインストール済みである。
- cluster-admin ロールを持つユーザーとして OpenShift Container Platform クラスターにアクセスできる。
6.4.1. DAS Operator コンポーネントのデバッグ リンクのコピーリンクがクリップボードにコピーされました!
手順
次のコマンドを実行して、すべての DAS Operator コンポーネントのステータスを確認します。
oc get pods -n das-operator
$ oc get pods -n das-operatorCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、DAS Operator コントローラーのログを検査します。
oc logs -n das-operator deployment/das-operator
$ oc logs -n das-operator deployment/das-operatorCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、Webhook サーバーのログを確認します。
oc logs -n das-operator deployment/das-operator-webhook
$ oc logs -n das-operator deployment/das-operator-webhookCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、スケジューラープラグインのログを確認します。
oc logs -n das-operator deployment/das-scheduler
$ oc logs -n das-operator deployment/das-schedulerCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、デバイスプラグイン daemonset のログを確認します。
oc logs -n das-operator daemonset/das-daemonset
$ oc logs -n das-operator daemonset/das-daemonsetCopy to Clipboard Copied! Toggle word wrap Toggle overflow
6.4.2. AllocationClaim の監視 リンクのコピーリンクがクリップボードにコピーされました!
手順
次のコマンドを実行して、アクティブな
AllocationClaimリソースを検査します。oc get allocationclaims -n das-operator
$ oc get allocationclaims -n das-operatorCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME AGE 13950288-57df-4ab5-82bc-6138f646633e-harpatil000034jma-qh5fm-worker-f-57md9-cuda-vectoradd-0 5m ce997b60-a0b8-4ea4-9107-cf59b425d049-harpatil000034jma-qh5fm-worker-f-fl4wg-cuda-vectoradd-0 5m
NAME AGE 13950288-57df-4ab5-82bc-6138f646633e-harpatil000034jma-qh5fm-worker-f-57md9-cuda-vectoradd-0 5m ce997b60-a0b8-4ea4-9107-cf59b425d049-harpatil000034jma-qh5fm-worker-f-fl4wg-cuda-vectoradd-0 5mCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、特定の
AllocationClaimに関する詳細情報を表示します。oc get allocationclaims -n das-operator -o yaml
$ oc get allocationclaims -n das-operator -o yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力サンプル (切り捨て済み)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、さまざまな状態のクレームを確認します。
oc get allocationclaims -n das-operator -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.status.state}{"\n"}{end}'$ oc get allocationclaims -n das-operator -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.status.state}{"\n"}{end}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
13950288-57df-4ab5-82bc-6138f646633e-harpatil000034jma-qh5fm-worker-f-57md9-cuda-vectoradd-0 inUse ce997b60-a0b8-4ea4-9107-cf59b425d049-harpatil000034jma-qh5fm-worker-f-fl4wg-cuda-vectoradd-0 inUse
13950288-57df-4ab5-82bc-6138f646633e-harpatil000034jma-qh5fm-worker-f-57md9-cuda-vectoradd-0 inUse ce997b60-a0b8-4ea4-9107-cf59b425d049-harpatil000034jma-qh5fm-worker-f-fl4wg-cuda-vectoradd-0 inUseCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
AllocationClaimリソースに関連するイベントを表示します。oc get events -n das-operator --field-selector involvedObject.kind=AllocationClaim
$ oc get events -n das-operator --field-selector involvedObject.kind=AllocationClaimCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
NodeAcceleratorリソースをチェックし、GPU ハードウェアの検出を確認します。oc get nodeaccelerator -n das-operator
$ oc get nodeaccelerator -n das-operatorCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME AGE harpatil000034jma-qh5fm-worker-f-57md9 96m harpatil000034jma-qh5fm-worker-f-fl4wg 96m
NAME AGE harpatil000034jma-qh5fm-worker-f-57md9 96m harpatil000034jma-qh5fm-worker-f-fl4wg 96mCopy to Clipboard Copied! Toggle word wrap Toggle overflow NodeAcceleratorリソースは、DAS Operator によって検出された GPU 対応ノードを表します。
関連情報
AllocationClaim カスタムリソースは、次の情報を追跡します。
- GPU UUID
- GPU デバイスの一意の識別子。
- スライス位置
- GPU 上の MIG スライスの位置。
- Pod 参照
- GPU スライスを要求した Pod。
- 状態
-
クレームの現在の状態 (
staged、created、またはreleased)。
クレームは staged 状態で開始され、すべての要求が満たされると created に遷移します。Pod が削除されると、関連付けられているクレームは自動的にクリーンアップされます。
6.4.3. GPU デバイスの可用性の確認 リンクのコピーリンクがクリップボードにコピーされました!
手順
GPU ハードウェアが搭載されたノードで、次のコマンドを実行して CDI デバイスが作成されたことを確認します。
oc debug node/<node-name>
$ oc debug node/<node-name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow chroot /host ls -l /var/run/cdi/
sh-4.4# chroot /host sh-4.4# ls -l /var/run/cdi/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、NVIDIA GPU Operator のステータスを確認します。
oc get clusterpolicies.nvidia.com -o jsonpath='{.items[0].status.state}'$ oc get clusterpolicies.nvidia.com -o jsonpath='{.items[0].status.state}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力には
readyが表示されるはずです。
6.4.4. ログの詳細レベルを引き上げる リンクのコピーリンクがクリップボードにコピーされました!
手順
より詳細なデバッグ情報を取得するには、以下を実行します。
次のコマンドを実行し、
DASOperatorリソースを編集してログの詳細レベルを引き上げます。oc edit dasoperator -n das-operator
$ oc edit dasoperator -n das-operatorCopy to Clipboard Copied! Toggle word wrap Toggle overflow operatorLogLevelフィールドをDebugまたはTraceに設定します。spec: operatorLogLevel: Debug
spec: operatorLogLevel: DebugCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 変更を保存し、再起動した Pod の詳細レベルが上がっていることを確認します。
6.4.5. よくある問題と解決策 リンクのコピーリンクがクリップボードにコピーされました!
kubernetes/kubernetes#128043 により、アドミッションが失敗すると Pod が UnexpectedAdmissionError 状態になる可能性があります。デプロイメントなどの上位レベルのコントローラーによって管理される Pod は自動的に再作成されます。ただし、ネイキッド Pod は、oc delete pod を使用して手動でクリーンアップする必要があります。アップストリームの問題が解決されるまでは、コントローラーの使用が推奨されます。
前提条件を満たしていない
DAS Operator が起動しない、または正常に機能しない場合は、すべての前提条件がインストールされていることを確認してください。
- cert-manager
- Node Feature Discovery (NFD) Operator
- NVIDIA GPU Operator