個人用に GPU が使える K8S 環境が欲しかったのでメモ。
Docker
まずは docker のインストール
sudo apt install ca-certificates curl gnupg wget apt-transport-https -y sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpg echo "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt update sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
それから、現在のユーザーでも docker を使えるようにする。
sudo usermod -aG docker $USER sudo chmod 666 /var/run/docker.sock
これで一旦ログアウトして、再ログインすれば docker を使える。
Minikube
つづいて Minikube のインストール
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 sudo install minikube-linux-amd64 /usr/local/bin/minikube
kubectl もインストールする
curl -LO https://storage.googleapis.com/kubernetes-release/release/`curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt`/bin/linux/amd64/kubectl chmod +x kubectl sudo mv kubectl /usr/local/bin/
Nvidia GPU
最後に Nvidia GPU 関連のインストール。
先に Nvidia ドライバーはインストールしておく事。
echo "net.core.bpf_jit_harden=0" | sudo tee -a /etc/sysctl.conf sudo sysctl -p
Nvidia Container Toolkit をインストール
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \ sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \ sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list sudo apt update sudo apt install -y nvidia-container-toolkit
Docker で Nvidia Container Tookit を使うように設定する。
sudo nvidia-ctk runtime configure --runtime=docker sudo systemctl restart docker
最後に Minikube を起動
minikube start --driver docker --container-runtime docker --gpus all
おまけ
minikube のデフォルト RAM は 2GB なので、これを 8GB に増やす。
あと CPU コアもデフォルトで 2 なのでこれを 4 にする。
minikube config set memory 8192 minikube config set cpus 4 minikube config view # - cpus: 4 # - memory: 8192
config を変えたら minikube クラスタを削除してから再起動。
minikube delete minikube start --driver docker --container-runtime docker --gpus all