このドキュメントでは、Google Cloud Managed Service for Prometheus を使用して NVIDIA Data Center GPU Manager から指標を収集できるように、Google Kubernetes Engine の Deployment を構成する方法について説明します。このドキュメントでは、次の方法について説明します。
- DCGM のエクスポータを設定して、指標を報告する。
- エクスポートされた指標を収集するために、Managed Service for Prometheus の PodMonitoring リソースを構成する。
以下の手順は、Managed Service for Prometheus でマネージド コレクションを使用している場合にのみ適用されます。セルフデプロイ コレクションを使用している場合は、DCGM Exporter のソース リポジトリでインストール情報をご覧ください。
以下の手順は一例であり、ほとんどの Kubernetes 環境で機能します。 マネージド DCGM サービスについては、 DCGM 指標を収集して表示するをご覧ください。
セキュリティ ポリシーや組織のポリシーの制限により、アプリケーションやエクスポータのインストールに問題がある場合は、オープンソース ドキュメントでサポート情報を確認することをおすすめします。
DCGM の詳細については、NVIDIA DCGM をご覧ください。
前提条件
Managed Service for Prometheus とマネージド コレクションを使用して DCGM から指標を収集するには、Deployment が次の要件を満たしている必要があります。
- クラスタで Google Kubernetes Engine バージョン 1.21.4-gke.300 以降を実行している必要があります。
- マネージド コレクションを有効にして、Managed Service for Prometheus を実行する必要があります。詳細については、マネージド コレクションを使ってみるをご覧ください。
NVIDIA GPU に十分な割り当てがあることを確認します。
GKE クラスタ内の GPU ノードと、関連するクラスタ内の GPU ノードを列挙するには、次のコマンドを実行します。
kubectl get nodes -l cloud.google.com/gke-gpu -o jsonpath='{range .items[*]}{@.metadata.name}{" "}{@.metadata.labels.cloud\.google\.com/gke-accelerator}{"\n"}{end}'
自動インストールが無効になっている場合、または GKE バージョンでサポートされていない場合は、ノードに互換性のある NVIDIA GPU ドライバをインストールする必要がある場合があります。NVIDIA GPU デバイス プラグインが実行されていることを確認するには、次のコマンドを実行します。
kubectl get pods -n kube-system | grep nvidia-gpu-device-plugin
DCGM エクスポータをインストールする
次の構成を使用して、DCGM エクスポータである DCGM-Exporter
をインストールすることをおすすめします。
次のコマンドを使用してポート転送を設定します。
kubectl -n gmp-public port-forward POD_NAME 9400
別のターミナル セッションでブラウザまたは
curl
ユーティリティを使用して、localhost:9400/metrics
エンドポイントにアクセスします。
ConfigMap セクションをカスタマイズして、出力する GPU 指標を選択できます。
または、公式 Helm チャートを使用して DCGM エクスポータをインストールすることを検討してください。
構成の変更をローカル ファイルから適用するには、次のコマンドを実行します。
kubectl apply -n NAMESPACE_NAME -f FILE_NAME
Terraform を使用して構成を管理することもできます。
PodMonitoring リソースを定義する
ターゲット ディスカバリの場合、Managed Service for Prometheus Operator には、同じ Namespace 内の DCGM エクスポータに対応する PodMonitoring リソースが必要です。
次の PodMonitoring 構成を使用できます。
構成の変更をローカル ファイルから適用するには、次のコマンドを実行します。
kubectl apply -n NAMESPACE_NAME -f FILE_NAME
Terraform を使用して構成を管理することもできます。
構成を確認する
Metrics Explorer を使用すると、DCGM エクスポータが正しく構成されていることを確認できます。Cloud Monitoring が指標を取り込むまでに 1~2 分かかる場合があります。
指標が取り込まれていることを確認します。
-
Google Cloud コンソールで、[leaderboardMetrics Explorer] ページに移動します。
検索バーを使用してこのページを検索する場合は、小見出しが [Monitoring] の結果を選択します。
- クエリビルダー ペインのツールバーで、[codeMQL] または [codePROMQL] という名前のボタンを選択します。
- [言語] で [PromQL] が選択されていることを確認します。言語切り替えボタンは、クエリの書式設定と同じツールバーにあります。
- 次のクエリを入力して実行します。
DCGM_FI_DEV_GPU_UTIL{cluster="CLUSTER_NAME", namespace="gmp-public"}
トラブルシューティング
指標の取り込みに関する問題のトラブルシューティングについては、取り込み側の問題のトラブルシューティングのエクスポータからの収集に関する問題をご覧ください。