Kubernetes には、デバイス プラグインを使用して、クラスター内の異なるノード間で GPU (グラフィカル プロセシング ユニット) を管理するためのサポートが含まれています。
ArcGIS Enterprise on Kubernetes では、クラスター内の GPU ノードを有効にするためのデバイス プラグインを実装して、ラスター解析やディープ ラーニングなどに関連する GIS ワークフローを最適化することができます。 デフォルトでは、ラスター解析などの機能は、CPU モードで実行されるように構成されますが、これらのリソースが利用可能な場合は、柔軟に GPU モードで実行されるようにすることもできます。 GPU 対応ノードは一般的にコストが高いため、これらのタイプのノードを使用することがワークロードにとって有益かどうかを検討してください。
すべての GPU 対応ワークロードに対し、十分な GPU リソースがあることを確認します。 たとえば、1 つのラスター解析ポッドは、1 GPU を消費します。 これらのポッドのレプリカを 10 個サポートするには、GPU 対応ノード全体で 10 GPU が利用可能でなくてはなりません。
GPU の有効化
ワークロードで GPU の使用を有効にするには、次の手順に従います:
- インスタンスに、Kubernetes 向けの NVIDIA デバイス プラグインがインストールされていることを確認します。
Kubernetes 向け NVIDIA デバイス プラグインは、クラスターのノードごとの GPU 数の表示、GPU 対応コンテナーの実行、GPU の正常性の追跡を可能にする DaemonSet です。 多くのクラウド環境には、GPU ノードが事前に構成されています。 デバイス プラグインがインストールされていない場合は、Kubernetes 向け NVIDIA デバイス プラグインのドキュメントで詳細およびインストール手順をご確認ください。 オンプレミスでデプロイした場合は、管理者が、クラスター内の各ノードで GPU を有効にする必要があります。
注意:
このリリースの ArcGIS Enterprise on Kubernetes は NVIDIA GPU でのみサポートされます。
- 必要に応じて、GPU ノードのカスタム ラベルを作成します。
ポッド配置ルールを使用して、これらのノードにワークロードをスケジュールできるよう、GPU ノードにラベルを付けることをおすすめします。 次のコマンドを使用し、各ノードにラベルを付けます:
kubectl label nodes <your-node-name> <your-key>=<your-value> - GPU を使用するようサービスを構成します。
ノートブック サービス用に GPU を有効化する場合は、「ランタイムの表示および編集」を参照して、ノードごとの GPU ユニットの設定方法をご確認ください。 ラスター解析に対して GPU を有効にするには、「ラスター解析用の GPU リソースの有効化」をご参照ください。
- 必要に応じて、GPU を必要とするワークロードのみが GPU 対応ノードにスケジュールされるよう、テイントを使用します。
ノードをテイントする前に、GPU 対応ノードで実行するワークロードに耐障害性を適用します。 次のコマンドを使用し、GPU ノードをテイントします:
kubectl taint nodes <your-node-name> nvidia.com/gpu=Exists:NoExecute