Amazon EKS
ユーザーガイド

Amazon EKS GPU 対応最適化 AMI

Amazon EKSGPU 対応最適化 AMI はスタンダードな Amazon EKS 最適化 AMI 上に構築されており、GPU ワークロードをサポートするための Amazon EKS ワーカーノードのオプションイメージとして機能するよう構成されています。

スタンダードな Amazon EKS 最適化 AMI に加えて、GPU 対応の AMI には、以下が含まれています。

  • NVIDIA ドライバー

  • nvidia-docker2 パッケージ

  • nvidia-container-runtime (デフォルトのランタイム)

最新の Amazon EKSGPU 対応最適化 AMI の AMI ID は、次のテーブルに示されています。

注記

Amazon EKS 最適化 AMI (GPU 対応) では、P2 および P3 のインスタンスタイプのみサポートしています。これらのインスタンスタイプは必ず、ワーカーノードの AWS CloudFormation テンプレートで指定してください。この AMI には、エンドユーザーライセンス契約 (EULA) が必要なサードパーティーソフトウェアが含まれているため、AWS Marketplace の AMI にサブスクライブし、EULA に同意してからワーカーノードグループで AMI を使用する必要があります。AMI にサブスクライブするには、「AWS Marketplace」を参照してください。

リージョン Amazon EKS 最適化 AMI (GPU 対応)
米国西部 (オレゴン) (us-west-2) ami-08156e8fd65879a13
米国東部 (バージニア北部) (us-east-1) ami-0c974dde3f6d691a1
米国東部 (オハイオ) (us-east-2) ami-089849e811ace242f
欧州 (アイルランド) (eu-west-1) ami-0c3479bcd739094f0

重要

これらの AMI には、ワーカーノードの最新 AWS CloudFormation テンプレートが必要です。これらの AMI は、以前のバージョンのワーカーノードテンプレートで使用することはできません。つまり、クラスターに加えることはできません。これらの AMI を使用するには、必ず、既存の AWS CloudFormation ワーカースタックを最新のテンプレート (以下の URL) でアップグレードしてください。

https://amazon-eks.s3-us-west-2.amazonaws.com/cloudformation/2018-11-07/amazon-eks-nodegroup.yaml

AWS CloudFormation ワーカーノードテンプレートはクラスターのコントロールプレーンを自動的に検出して接続を許可する、特別なブートストラップスクリプトを起動する Amazon EC2 ユーザーデータを使用してワーカーノードを起動します。詳細については、「Amazon EKS ワーカーノードを起動する」を参照してください。

GPU ワーカーノードがクラスターに参加した後で、NVIDIA device plugin for Kubernetes を次のコマンドを使用してクラスターのデーモンセットとして適用しなければなりません。

kubectl apply -f https://raw.githubusercontent.com/NVIDIA/k8s-device-plugin/v1.10/nvidia-device-plugin.yml

ノードに GPU が割り当てられたことは、次のコマンドを使って確認できます。

kubectl get nodes "-o=custom-columns=NAME:.metadata.name,GPU:.status.allocatable.nvidia\.com/gpu"

GPU マニフェストの例

このセクションでは、ポッドマニフェスト例を示し、GPU のワーカーが適切に設定されていることをテストします。

nvidia-smi 出力の取得

このポッドマニフェスト例では、ワーカーノードで nvidia-smi を実行する Cuda コンテナ を起動します。nvidia-smi.yaml という名前のファイルを作成し、そこに以下のマニフェストファイルをコピー・ペーストしてファイルを保存します。

apiVersion: v1 kind: Pod metadata: name: nvidia-smi spec: restartPolicy: OnFailure containers: - name: nvidia-smi image: nvidia/cuda:9.2-devel args: - "nvidia-smi" resources: limits: nvidia.com/gpu: 1

上記の変更を次のコマンドを使って適用します。

kubectl apply -f nvidia-smi.yaml

ポッドの実行が終了後、次のコマンドを使用してログを表示します。

kubectl logs nvidia-smi

出力:

Mon Aug 6 20:23:31 2018 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 396.26 Driver Version: 396.26 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | |===============================+======================+======================| | 0 Tesla V100-SXM2... On | 00000000:00:1C.0 Off | 0 | | N/A 46C P0 47W / 300W | 0MiB / 16160MiB | 0% Default | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: GPU Memory | | GPU PID Type Process name Usage | |=============================================================================| | No running processes found | +-----------------------------------------------------------------------------+

このページの内容: