Skip to content

Commit ed59a3c

Browse files
committed
Kicbase: Install NVIDIA container toolkit during image build
1 parent 5691aa0 commit ed59a3c

File tree

2 files changed

+7
-28
lines changed

2 files changed

+7
-28
lines changed

deploy/kicbase/Dockerfile

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -210,6 +210,13 @@ RUN export ARCH=$(dpkg --print-architecture | sed 's/ppc64el/ppc64le/' | sed 's/
210210
apt-key add - < Release.key && \
211211
clean-install cri-o cri-o-runc; fi
212212

213+
# install NVIDIA container toolkit
214+
RUN curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg && \
215+
curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
216+
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
217+
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list && \
218+
clean-install nvidia-container-toolkit
219+
213220
# install version.json
214221
ARG VERSION_JSON
215222
RUN echo "${VERSION_JSON}" > /version.json

pkg/minikube/cruntime/docker.go

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@ import (
3939
"k8s.io/minikube/pkg/minikube/docker"
4040
"k8s.io/minikube/pkg/minikube/download"
4141
"k8s.io/minikube/pkg/minikube/image"
42-
"k8s.io/minikube/pkg/minikube/out"
4342
"k8s.io/minikube/pkg/minikube/style"
4443
"k8s.io/minikube/pkg/minikube/sysinit"
4544
)
@@ -562,9 +561,6 @@ func (r *Docker) configureDocker(driver string) error {
562561
StorageDriver: "overlay2",
563562
}
564563
if r.GPUs {
565-
if err := r.installNvidiaContainerToolkit(); err != nil {
566-
return fmt.Errorf("failed installing the NVIDIA Container Toolkit: %v", err)
567-
}
568564
assets.Addons["nvidia-device-plugin"].EnableByDefault()
569565
daemonConfig.DefaultRuntime = "nvidia"
570566
runtimes := &dockerDaemonRuntimes{}
@@ -579,30 +575,6 @@ func (r *Docker) configureDocker(driver string) error {
579575
return r.Runner.Copy(ma)
580576
}
581577

582-
// installNvidiaContainerToolkit installs the NVIDIA Container Toolkit
583-
// https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html
584-
func (r *Docker) installNvidiaContainerToolkit() error {
585-
out.Styled(style.Warning, "Using GPUs with the Docker driver is experimental, if you experience any issues please report them at: https://github.com/kubernetes/minikube/issues/new/choose")
586-
if _, err := r.Runner.RunCmd(exec.Command("dpkg", "-l", "nvidia-container-toolkit")); err == nil {
587-
klog.Info("nvidia-container-toolkit is already installed, skipping install")
588-
return nil
589-
}
590-
out.Styled(style.Toolkit, "Installing the NVIDIA Container Toolkit...")
591-
cmds := []string{
592-
"curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg",
593-
"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",
594-
"sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit",
595-
}
596-
597-
for _, cmd := range cmds {
598-
c := exec.Command("/bin/bash", "-c", cmd)
599-
if _, err := r.Runner.RunCmd(c); err != nil {
600-
return err
601-
}
602-
}
603-
return nil
604-
}
605-
606578
// Preload preloads docker with k8s images:
607579
// 1. Copy over the preloaded tarball into the VM
608580
// 2. Extract the preloaded tarball to the correct directory

0 commit comments

Comments
 (0)