Skip to content

Commit a063051

Browse files
committed
feat(gateway): Reduce nvidia-container-toolkit installation
For newer NVIDIA Container Toolkit versions, the components installed through the nvidia-container-toolkit, libnvidia-container-tools, and libnvidia-container1 packages are considered legacy. In CDI mode -- or when native CDI is used -- only the nvidia-container-toolkit-base package is required with the notable components being: * nvidia-ctk - The general purpose NVIDIA Container Toolkit CLI. It includes functionality such as nvidia-ctk cdi generate to generate CDI specifications and nvidia-ctk cdi list to show available CDI devices. * nvidia-cdi-hook - Implements specific container lifecycle hooks used to ensure that a container is set up correctly to allow GPU access after device nodes and driver files are injected using CDI. This CLI is aliased by the `nvidia-ctk hook` subcommand. * nvidia-container-runtime - As a wrapper for runc to add GPU support in environments where direct CDI device requests are not possible. This includes k3s, where the nvidia RuntimeClass is added automatically if thie nvidia-container-runtime is detected and used to ensure the injection of device nodes and libraries for the k8s-device-plugin containers. This change also renames the Docker build stage to nvidia-container-toolkit explicitly for clarity. Signed-off-by: Evan Lezar <elezar@nvidia.com>
1 parent 590e002 commit a063051

File tree

1 file changed

+5
-11
lines changed

1 file changed

+5
-11
lines changed

deploy/docker/Dockerfile.images

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends curl ca-certifi
201201
chmod +x /tmp/helm && \
202202
rm -rf /var/lib/apt/lists/*
203203

204-
FROM ubuntu:24.04 AS nvidia-toolkit
204+
FROM ubuntu:24.04 AS nvidia-container-toolkit
205205
ARG NVIDIA_CONTAINER_TOOLKIT_VERSION
206206

207207
RUN apt-get update && apt-get install -y --no-install-recommends \
@@ -213,10 +213,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
213213
| tee /etc/apt/sources.list.d/nvidia-container-toolkit.list && \
214214
apt-get update && \
215215
apt-get install -y --no-install-recommends \
216-
"nvidia-container-toolkit=${NVIDIA_CONTAINER_TOOLKIT_VERSION}" \
217216
"nvidia-container-toolkit-base=${NVIDIA_CONTAINER_TOOLKIT_VERSION}" \
218-
"libnvidia-container-tools=${NVIDIA_CONTAINER_TOOLKIT_VERSION}" \
219-
"libnvidia-container1=${NVIDIA_CONTAINER_TOOLKIT_VERSION}" && \
220217
rm -rf /var/lib/apt/lists/*
221218

222219
# ---------------------------------------------------------------------------
@@ -240,13 +237,10 @@ COPY --from=k3s /usr/share/zoneinfo/ /usr/share/zoneinfo/
240237
ENV PATH="/var/lib/rancher/k3s/data/cni:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/bin/aux" \
241238
CRI_CONFIG_FILE="/var/lib/rancher/k3s/agent/etc/crictl.yaml"
242239

243-
COPY --from=nvidia-toolkit /usr/bin/nvidia-cdi-hook /usr/bin/
244-
COPY --from=nvidia-toolkit /usr/bin/nvidia-container-runtime /usr/bin/
245-
COPY --from=nvidia-toolkit /usr/bin/nvidia-container-runtime-hook /usr/bin/
246-
COPY --from=nvidia-toolkit /usr/bin/nvidia-container-cli /usr/bin/
247-
COPY --from=nvidia-toolkit /usr/bin/nvidia-ctk /usr/bin/
248-
COPY --from=nvidia-toolkit /etc/nvidia-container-runtime /etc/nvidia-container-runtime
249-
COPY --from=nvidia-toolkit /usr/lib/*-linux-gnu/libnvidia-container*.so* /usr/lib/
240+
COPY --from=nvidia-container-toolkit /usr/bin/nvidia-cdi-hook /usr/bin/
241+
COPY --from=nvidia-container-toolkit /usr/bin/nvidia-container-runtime /usr/bin/
242+
COPY --from=nvidia-container-toolkit /usr/bin/nvidia-ctk /usr/bin/
243+
COPY --from=nvidia-container-toolkit /etc/nvidia-container-runtime /etc/nvidia-container-runtime
250244
COPY --from=supervisor-builder /build/out/openshell-sandbox /opt/openshell/bin/openshell-sandbox
251245

252246
RUN mkdir -p /var/lib/rancher/k3s/server/manifests \

0 commit comments

Comments
 (0)