コンテナで画像処理装置(GPU)リソースを有効にして管理できます。たとえば、GPU 環境で AI と ML のノートブックを実行することを希望する場合があります。Google Distributed Cloud(GDC)エアギャップのあるアプライアンスでは、GPU サポートはデフォルトで有効になっています。
始める前に
このドキュメントのタスクを完了するには、必要な権限をリクエストして環境を準備する必要があります。
IAM ロールをリクエストする
Kubernetes クラスタ内のリソースを作成、削除、編集、表示するには、組織 IAM 管理者にプロジェクト Namespace で
Namespace 管理者 (namespace-admin)ロールを付与するよう依頼してください。このロールを使用すると、プロジェクト
Namespace に GPU ワークロードをデプロイできます。
環境を準備する
ログインして生成 ベアメタル Kubernetes クラスタの kubeconfig ファイル。
Kubernetes クラスタの kubeconfig パスを使用して、この手順の
CLUSTER_KUBECONFIGを置き換えます。
GPU リソースを使用するようにコンテナを構成する
コンテナで GPU を使用するには、次の操作を行います。
Kubernetes クラスタノードが GPU リソース割り当てをサポートしていることを確認します。
kubectl describe nodes NODE_NAMENODE_NAMEは、検査する GPU を管理するノードに置き換えます。関連する出力は、次のスニペットのようになります。
Capacity: nvidia.com/gpu-pod-NVIDIA_A100_80GB_PCIE: 1 Allocatable: nvidia.com/gpu-pod-NVIDIA_A100_80GB_PCIE: 1コンテナ仕様に
.containers.resources.requestsフィールドと.containers.resources.limitsフィールドを追加します。Kubernetes クラスタは GPU マシンで事前構成されているため、構成はすべてのワークロードで同じです。... containers: - name: CONTAINER_NAME image: CONTAINER_IMAGE resources: requests: nvidia.com/gpu-pod-NVIDIA_A100_80GB_PCIE: 1 limits: nvidia.com/gpu-pod-NVIDIA_A100_80GB_PCIE: 1 ...次のように置き換えます。
CONTAINER_NAME: コンテナの名前。CONTAINER_IMAGE: GPU マシンにアクセスするコンテナ イメージ。コンテナ レジストリのパスとイメージのバージョン (REGISTRY_PATH/hello-app:1.0など)を含める必要があります。
コンテナには、GPU にアクセスするための追加の権限も必要です。GPU をリクエストするコンテナごとに、次の権限をコンテナ仕様に追加します。
... securityContext: seLinuxOptions: type: unconfined_t ...コンテナ マニフェスト ファイルを適用します。
kubectl apply -f CONTAINER_MANIFEST_FILE \ -n NAMESPACE \ --kubeconfig CLUSTER_KUBECONFIG次のように置き換えます。
CONTAINER_MANIFEST_FILE: コンテナ ワークロード カスタム リソースの YAML ファイル。NAMESPACE: コンテナ ワークロードをデプロイするプロジェクト Namespace。CLUSTER_KUBECONFIG: コンテナ ワークロードをデプロイするベアメタル Kubernetes クラスタの kubeconfig ファイル。
Pod が実行されていて、GPU を使用していることを確認します。
kubectl get pods -A | grep CONTAINER_NAME \ -n NAMESPACE \ --kubeconfig CLUSTER_KUBECONFIG関連する出力は、次のスニペットのようになります。
Port: 80/TCP Host Port: 0/TCP State: Running Ready: True Restart Count: 0 Limits: nvidia.com/gpu-pod-NVIDIA_A100_80GB_PCIE: 1 Requests: nvidia.com/gpu-pod-NVIDIA_A100_80GB_PCIE: 1