メインコンテンツまでスキップ

KubernetesにおけるGPUドライバーのインストールガイド

ユーザーは、GPU統合済みのFPT Kubernetes EngineクラスターにGPUドライバーを自己インストールできます。

手順は以下のとおりです:

ステップ1:Driver InstallationをUser-Installに設定してGPUクラスターを初期化する

  • クラスターを作成し、Driver Installationオプションとして「User-Install」を選択します。

ステップ2:GPUの使用に必要なソフトウェア(ドライバー、ツールキット、デバイスプラグインなど)をインストールする

参考GPUドライバーバージョン:

以下のDaemonSetを参考にドライバーをインストールできます:

apiVersion: apps/v1
kind: DaemonSet
metadata:
name: fptcloud-gpu-driver-installer
namespace: kube-system
labels:
k8s-app: gpu-driver
spec:
selector:
matchLabels:
k8s-app: gpu-driver
updateStrategy:
type: RollingUpdate
template:
metadata:
labels:
name: nvidia-driver-installer
k8s-app: gpu-driver
spec:
priorityClassName: system-node-critical
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: worker.fptcloud/type
operator: In
values: ["gpu"]
tolerations:
- operator: "Exists"
containers:
- image: docker.io/alpine:3.13
name: nvidia-driver-installer
command:
- 'nsenter'
- '-t'
- '1'
- '-m'
- '-u'
- '-i'
- '-n'
- '--'
- 'bash'
- '-l'
- '-c'
- 'curl -Ls https://raw.githubusercontent.com/fci-xplat/fke-config/main/fptcloud-gpu-driver-installer.sh | bash -s -- -p admin'
resources:
requests:
cpu: 150m
env:
- name: NVIDIA_DRIVER_VERSION
value: "535.54.03"
- name: NVIDIA_TOOLKIT_INSTALL
value: "true"
imagePullPolicy: IfNotPresent
securityContext:
privileged: true
allowPrivilegeEscalation: true
hostPID: true
hostNetwork: true
hostIPC: true

環境変数パラメーター:

  • NVIDIA_DRIVER_VERSION: インストールするドライバーのバージョン。
  • NVIDIA_TOOLKIT_INSTALL: "true"または"false"、デフォルトは"true"。ツールキットを自動インストールするかどうかを制御します。

fptcloud DaemonSetをK8sクラスターに適用するには、以下を実行します:

kubectl apply -f https://raw.githubusercontent.com/fci-xplat/fke-config/main/fptcloud-gpu-driver-installer.yaml

DaemonSetのPodステータスを確認します:

kubectl get pod -n kube-system | grep "gpu-driver"
NAME                                                 READY   STATUS    RESTARTS        AGE
fptcloud-gpu-driver-installer-7tj55 1/1 Running 0 2d17h

fptcloud-gpu-driver-installer DaemonSetは、Worker Group内のすべてのワーカー(ラベルworker.fptcloud/type: gpuを持つもの)にPodをスケジュールし、ドライバーとツールキットをインストールします。

Podのログでインストールが完了したかどうかを確認します:

kubectl logs fptcloud-gpu-driver-installer-7tj55 -n kube-system
Verifying Nvidia installation... DONE.
Clean Nvidia installation... DONE.

インストールが成功すると、上記のようなログ出力が表示されます。インストール処理には通常数分かかります。