次の方法で共有


Container insights で GPU の監視を構成する

Container insights では、次の GPU ベンダーによる GPU クラスターの監視がサポートされています。

Container insights を使用すると、次のメトリックが 60 秒間隔で収集され、InsightMetrics テーブルに格納されることで、ノードでの GPU の使用率および GPU を要求するポッドとワークロードの監視が自動的に開始されます。

注意

GPU ノードがあるクラスターをプロビジョニングした後、GPU ワークロードを実行するために、Azure Kubernetes Service (AKS) に必要とされる GPU ドライバーを確実にインストールしてください。 Container insights により、ノードで実行されている GPU ドライバー ポッドを介して GPU メトリックが収集されます。

メトリックの名前 メトリック ディメンション (タグ) 説明
containerGpuDutyCycle* container.azm.ms/clusterId、container.azm.ms/clusterName、containerName、gpuId、gpuModel、gpuVendor 過去のサンプリング期間 (60 秒) 中に、コンテナーに対して GPU がビジーであるかアクティブに処理を行っていた時間の割合。 デューティ サイクルは 1 から 100 までの値です。
containerGpuLimits container.azm.ms/clusterId、container.azm.ms/clusterName、containerName 各コンテナーでは、1 つまたは複数の GPU として制限を指定できます。 GPU の一部を要求または制限することはできません。
containerGpuRequests container.azm.ms/clusterId、container.azm.ms/clusterName、containerName 各コンテナーでは、1 つまたは複数の GPU を要求できます。 GPU の一部を要求または制限することはできません。
containerGpumemoryTotalBytes* container.azm.ms/clusterId、container.azm.ms/clusterName、containerName、gpuId、gpuModel、gpuVendor 特定のコンテナーに使用できる GPU メモリの量 (バイト)。
containerGpumemoryUsedBytes* container.azm.ms/clusterId、container.azm.ms/clusterName、containerName、gpuId、gpuModel、gpuVendor 特定のコンテナーに使用された GPU メモリの量 (バイト)。
nodeGpuAllocatable container.azm.ms/clusterId、container.azm.ms/clusterName、gpuVendor Kubernetes で使用できるノード内の GPU の数。
nodeGpuCapacity container.azm.ms/clusterId、container.azm.ms/clusterName、gpuVendor ノード内の GPU の合計数。

* Kubernetes アップストリームの変更に基づき、これらのメトリックは追加設定なしで収集されなくなくなりました。 AKS の一時的な修正プログラムとして、GPU ノード プールを最新バージョンまたは *-2022.06.08 以降にアップグレードしてください。 Azure Arc 対応 Kubernetes の場合は、ノードの kubelet 構成で機能ゲート DisableAcceleratorUsageMetrics=false を有効にして、kubelet を再起動します。 アップストリームの変更が一般提供に達すると、この修正プログラムは機能しなくなります。

GPU パフォーマンス グラフ

Container insights には、すべてのクラスターに対する GPU ブックとして、前の表で示したメトリックの事前構成済みのグラフが含まれています。 Container insights で使用できるブックの説明については、Container insights のブックに関する記事を参照してください。

次のステップ