GPU 対応ノードの構成

Kubernetes には、デバイス プラグインを使用して、クラスター内の異なるノード間で GPU (グラフィカル プロセシング ユニット) を管理するためのサポートが含まれています。

ArcGIS Enterprise on Kubernetes では、クラスター内の GPU ノードを有効にするためのデバイス プラグインを実装して、ラスター解析やディープ ラーニングなどに関連する GIS ワークフローを最適化することができます。 デフォルトでは、ラスター解析などの機能は、CPU モードで実行されるように構成されますが、これらのリソースが利用可能な場合は、柔軟に GPU モードで実行されるようにすることもできます。 GPU 対応ノードは一般的にコストが高いため、これらのタイプのノードを使用することがワークロードにとって有益かどうかを検討してください。

すべての GPU 対応ワークロードに対し、十分な GPU リソースがあることを確認します。 たとえば、1 つのラスター解析ポッドは、1 GPU を消費します。 これらのポッドのレプリカを 10 個サポートするには、GPU 対応ノード全体で 10 GPU が利用可能でなくてはなりません。

GPU の有効化

ワークロードで GPU の使用を有効にするには、次の手順に従います:

  1. インスタンスに、Kubernetes 向けの NVIDIA デバイス プラグインがインストールされていることを確認します。

    Kubernetes 向け NVIDIA デバイス プラグインは、クラスターのノードごとの GPU 数の表示、GPU 対応コンテナーの実行、GPU の正常性の追跡を可能にする DaemonSet です。 多くのクラウド環境には、GPU ノードが事前に構成されています。 デバイス プラグインがインストールされていない場合は、Kubernetes 向け NVIDIA デバイス プラグインのドキュメントで詳細およびインストール手順をご確認ください。 オンプレミスでデプロイした場合は、管理者が、クラスター内の各ノードで GPU を有効にする必要があります。

    注意:

    このリリースの ArcGIS Enterprise on Kubernetes は NVIDIA GPU でのみサポートされます。

  2. 必要に応じて、GPU ノードのカスタム ラベルを作成します。

    ポッド配置ルールを使用して、これらのノードにワークロードをスケジュールできるよう、GPU ノードにラベルを付けることをおすすめします。 次のコマンドを使用し、各ノードにラベルを付けます:

    kubectl label nodes <your-node-name> <your-key>=<your-value>
    

  3. GPU を使用するようサービスを構成します。

    ノートブック サービス用に GPU を有効化する場合は、「ランタイムの表示および編集」を参照して、ノードごとの GPU ユニットの設定方法をご確認ください。 ラスター解析に対して GPU を有効にするには、「ラスター解析用の GPU リソースの有効化」をご参照ください。

  4. 必要に応じて、GPU を必要とするワークロードのみが GPU 対応ノードにスケジュールされるよう、テイントを使用します。

    ノードをテイントする前に、GPU 対応ノードで実行するワークロードに耐障害性を適用します。 次のコマンドを使用し、GPU ノードをテイントします:

    kubectl taint nodes <your-node-name> nvidia.com/gpu=Exists:NoExecute
    


このトピックの内容
  1. GPU の有効化