KubernetesにおけるGPUドライバーのインストールガイド
ユーザーは、GPU統合済みのFPT Kubernetes EngineクラスターにGPUドライバーを自己インストールできます。
手順は以下のとおりです:
ステップ1:Driver InstallationをUser-Installに設定してGPUクラスターを初期化する
- クラスターを作成し、Driver Installationオプションとして「User-Install」を選択します。
ステップ2:GPUの使用に必要なソフトウェア(ドライバー、ツールキット、デバイスプラグインなど)をインストールする
参考GPUドライバーバージョン:
- リリースノート: https://docs.nvidia.com/datacenter/tesla/index.html および https://docs.nvidia.com/datacenter/tesla/drivers/releases.json
- ドキュメント: https://docs.nvidia.com/datacenter/tesla/drivers/index.html
- インストーラー: https://download.nvidia.com/XFree86/Linux-x86_64/
以下の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.
インストールが成功すると、上記のようなログ出力が表示されます。インストール処理には通常数分かかります。