Azure Kubernetes Service (AKS) で GPU ワークロードを実行する場合は、テレメトリ用の GPU ドライバー、Kubernetes デバイス プラグイン、GPU メトリック エクスポーターなど、いくつかのソフトウェア コンポーネントをインストールして維持する必要があります。 これらのコンポーネントは、GPU スケジューリング、コンテナー レベルの GPU アクセス、リソースの使用状況の監視、および AKS GPU 対応ノードの適切な機能を有効にするために不可欠です。 以前は、クラスターオペレーターは、これらのコンポーネントを手動でインストールするか、 NVIDIA GPU オペレーターのようなオープンソースの代替手段を使用する必要がありました。これにより、複雑さと運用上のオーバーヘッドが発生する可能性がありました。
AKS では、フル マネージド GPU ノード (プレビュー) がサポートされ、NVIDIA GPU ドライバー、デバイス プラグイン、および Data Center GPU Manager (DCGM) メトリック エクスポーター が既定でインストールされるようになりました。 この機能により、1 ステップの GPU ノード プールの作成が可能になり、AKS での GPU リソースの可用性は汎用 CPU ノードと同じくらい簡単になります。
この記事では、NVIDIA GPU ドライバー、デバイス プラグイン、メトリック エクスポーターの既定のインストールなど、AKS クラスターでフル マネージド GPU ノード プール (プレビュー) をプロビジョニングする方法について説明します。
Important
AKS のプレビュー機能は、セルフサービスのオプトイン単位で利用できます。 プレビューは、"現状有姿のまま" および "利用可能な限度" で提供され、サービス レベル アグリーメントおよび限定保証から除外されるものとします。 AKS プレビューは、ベストエフォート ベースでカスタマー サポートによって部分的にカバーされます。 そのため、これらの機能は運用環境での使用を目的としていません。 詳細については、次のサポート記事を参照してください。
開始する前に
- この記事は、AKS クラスターがすでに存在していることを前提としています。 クラスターがない場合は、Azure CLI、Azure PowerShell、または Azure portal を使用して作成します。
- Azure CLI バージョン 2.72.2 以降がインストールされている必要があります。 バージョンを見つけるには、
az --versionを実行します。 インストールまたはアップグレードが必要な場合は、Azure CLI のインストールを参照してください。 -
aks-preview拡張機能の最新バージョンをインストールしてアップグレードする必要があります。 -
サブスクリプションに
ManagedGPUExperiencePreview機能フラグを登録する必要があります。
制限事項
- この機能は現在、 NVIDIA GPU 対応の仮想マシン (VM) サイズ のみをサポートしています。
- 汎用ノード プールを更新して GPU VM サイズを追加することは、AKS ではサポートされていません。
- GPU メトリックはサポートされていないため、この機能では Windows ノード プールはサポートされていません。 Windows GPU ノード プールを作成すると、AKS によってドライバーと Directx デバイス プラグインが自動的にインストールおよび管理されます。 詳細については 、AKS Windows GPU のドキュメント を参照してください。
- この機能を使用するための既存 のマルチインスタンス GPU ノード プールの移行はサポートされていません。
- 既存の GPU 対応ノードでこの機能を使用するためのインプレース アップグレードはサポートされていません。
注
GPU 対応 VM には、より高い価格が適用され、利用可能なリージョンが限られる特殊なハードウェアが含まれます。 詳細については、価格ツールと利用可能なリージョンを参照してください。
aks-preview CLI 拡張機能をインストールする
aks-previewコマンドを使用してaz extension addCLI 拡張機能をインストールします。az extension add --name aks-previewaz extension updateコマンドを使用して拡張機能を更新して、最新バージョンが確実にインストールされた状態にします。az extension update --name aks-preview
サブスクリプションに ManagedGPUExperiencePreview 機能フラグを登録します。
ManagedGPUExperiencePreviewコマンドを使用してサブスクリプションにaz feature register機能フラグを登録します。az feature register --namespace Microsoft.ContainerService --name ManagedGPUExperiencePreview
クラスターの資格情報を取得する
az aks get-credentialsコマンドを使用して AKS クラスターの資格情報を取得します。az aks get-credentials --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME
AKS マネージド GPU ノード プールを作成する (プレビュー)
OS SKU と --tags EnableManagedGPUExperience=true コマンドを指定することで、フル マネージド GPU ノード プール (プレビュー) を既存の AKS クラスターに追加できます。 これを行うと、AKS によって GPU ドライバー、GPU デバイス プラグイン、メトリック エクスポーターが自動的にインストールされます。
既定の Ubuntu オペレーティング システム (OS) SKU を使用するには、OS SKU を指定せずにノード プールを作成します。 ノード プールは、クラスターの Kubernetes バージョンに基づき、既定のオペレーティング システムに対して設定されます。
az aks nodepool addコマンドで--tags EnableManagedGPUExperience=trueコマンドを使用して、クラスターにノード プールを追加します。az aks nodepool add \ --resource‐group MyResourceGroup \ --cluster‐name MyAKSCluster \ --name gpunp \ --node‐count 1 \ --node‐vm‐size Standard_NC6s_v3 \ --node‐taints sku=gpu:NoSchedule \ --enable‐cluster‐autoscaler \ --min‐count 1 \ --max‐count 3 \ --tags EnableManagedGPUExperience=trueマネージド NVIDIA GPU ソフトウェア コンポーネントが正常にインストールされていることを確認します。
az aks nodepool show \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name gpunp \出力には、次の値が含まれている必要があります。
... ... "gpuInstanceProfile": … "gpuProfile": { "driver": "Install" }, ... ...
既存の GPU ワークロードを AKS マネージド GPU ノード プールに移行する
AKS クラスター上の標準の NVIDIA GPU ノード プールからフル マネージド NVIDIA GPU ノード プール (プレビュー) へのインプレース アップグレードはサポートされていません。 既存の GPU ノードを切断してドレインしてから、この機能を有効にして新しい GPU 対応ノード プールにワークロードを再デプロイすることをお勧めします。 詳細については、 AKS のノード プールのサイズ変更に関 するページを参照してください。
Bring Your Own (BYO) GPU ドライバー
NVIDIA ドライバーのインストールを制御する場合、または NVIDIA GPU オペレーターを使用する場合は、ノード プールの作成時に GPU ドライバーのインストールをバイパスできます。 この場合、Microsoft はノード イメージの展開の一部として NVIDIA ドライバーのメンテナンスと互換性を サポートまたは管理しません 。 詳細については、AKS での NVIDIA GPU 対応ノードの GPU ドライバーのインストールをスキップ するを参照してください。
次のステップ
- AKS で管理されている GPU 対応ノードに サンプル GPU ワークロード をデプロイします。
- GPU ノード プール上のマネージド NVIDIA DCGM エクスポーターからの GPU 使用率とパフォーマンス メトリック について説明します。
関連資料
- AKS 上の Node Problem Detector (NPD) を使用した GPU 正常性監視 について説明します。
- 複数の AKS GPU ノードで分散推論を実行します。