12.8. DPF のトラブルシューティング
DPU プロビジョニング、ホストされたクラスターの準備、ネットワーク、およびサポート用の診断ログを収集し、DPU のプロビジョニングに関する一般的な NVIDIA DPF Operator の問題を診断して解決できます。以下の手順は、公式の NVIDIA デバッグツールおよびガイドを補完します。
12.8.1. DPU プロビジョニングが開始されない リンクのコピーリンクがクリップボードにコピーされました!
ワーカーノードを管理クラスターに追加した直後に DPU プロビジョニングが開始されない場合は、証明書署名要求(CSR)、コントローラー Pod、Node Feature Discovery (NFD)ラベル、および DPF リソースオブジェクトが正しい状態であることを確認します。
- すべてのワーカー CSR が承認されていることを確認します。
以下のコマンドを実行して、管理クラスターの CSR ステータスを一覧表示します。
$ oc get csrワーカーノードのすべての CSR に
Approvedステータスが表示されることを確認します。- すべての DPF コントローラー Pod が実行中であることを確認します。
以下のコマンドを実行して、DPF Operator Pod のステータスを確認します。
$ oc get pod -n dpf-operator-systemすべての Pod が
Running状態にあることを確認します。- NFD による DPU プロビジョニングにワーカーノードにラベルが付けられていることを確認します。
次のコマンドを実行して、
dpu-enabledラベルがワーカーノードに存在することを確認します。$ oc get nodes -l feature.node.kubernetes.io/dpu-enabled=""出力には、NFD で DPU プロビジョニング用にラベル付けされたワーカーノードが一覧表示されます。以下に例を示します。
出力例
NAME STATUS ROLES AGE VERSION host-worker1 NotReady worker,worker-dpu 62s v1.35.6 host-worker2 NotReady worker,worker-dpu 66s v1.35.6- BFB オブジェクトのステータスを確認します
以下のコマンドを実行して、BlueField Bootstream File (BFB)イメージがダウンロードされ、準備状態にあることを確認します。
$ oc describe bfb -n dpf-operator-system bf-bundlestatus.conditionsフィールドで、ダウンロードの進行状況とエラーメッセージを確認します。- BFB イメージの URL にアクセスできることを確認します
BFB のダウンロードに失敗した場合は、以下のコマンドを実行してイメージ URL に到達でき、
$BFB_URLをイメージの URL に置き換えます。$ curl -I $BFB_URL応答が
200 OKのステータスコードを返すようにしてください。ダウンロードに失敗した場合は、イメージレジストリーへのネットワーク接続を確認し、ファイアウォールまたはプロキシーの制限を確認し、ノードで十分なディスク領域があることを確認します。- DPU プロビジョニングの進捗の監視
以下のコマンドを実行して、DPU オブジェクトのプロビジョニングの進捗を監視します。
$ oc get dpu -n dpf-operator-system -w各 DPU が
PendingtoProvisioningからReadyに進むまで待機します。- ワーカーノードで DPU ハードウェアが検出されていることを確認します。
ワーカーノードでデバッグシェルを開きます。
$ oc debug node/<worker-node-name>デバッグシェル内で以下のコマンドを実行して、BlueField デバイスが存在することを確認します。
sh-5.1# chroot /hostsh-5.1# lspci | grep -i mellanoxDPU が一覧にない場合は、PCIe スロットで適切に固定されており、サーバー BIOS で無効になっていないことを確認してください。
- DPU ファームウェアとソフトウェアの互換性の確認
デバッグシェル内で次のコマンドを実行して、DPU ファームウェアバージョンを確認します。
sh-5.1# mlxfwmanager --queryDPU 上の BlueField ファームウェアおよび DOCA ソフトウェアバージョンが、デプロイした DPF Operator バージョンと互換性があることを確認します。
DPUDeploymentオブジェクトのステータスを確認します。以下のリソースについては、
DPUDeploymentオブジェクトを調べます。- BFB オブジェクト状態
-
DPUServiceTemplateオブジェクトの状態 -
DPUServiceConfigurationオブジェクトの状態
以下のコマンドを実行して、完全な
DPUDeploymentのステータスを表示します。$ oc get dpudeployments -n dpf-operator-system dpudeployment -o yamlまたは、要約ビューに対して、以下の
dpfctlコマンドを実行します。$ oc -n dpf-operator-system exec deploy/dpf-operator-controller-manager -- /dpfctl describe dpudeployments