Appendix – Deploying Container on Setups Without Internet Connectivity
When Internet connectivity is not available on a DPU, Kubelet scans for the container image locally upon detecting the SNAP YAML. Users can load the container image manually before the deployment.
To accomplish this, users must download the necessary resources using a DPU with Internet connectivity and subsequently transfer and load them onto DPUs that lack Internet connectivity.
To download the .yaml file:
[dpu] # wget --content-disposition https://api.ngc.nvidia.com/v2/resources/nvidia/doca/doca_container_configs/versions/<path to yaml>/doca_snap.yaml
WarningAccess the latest download command on NGC by visiting https://catalog.ngc.nvidia.com/orgs/nvidia/teams/doca/containers/doca_snap.
The SNAP tag "doca_snap:4.1.0-doca2.0.2" is used in this section as an example. Latest tag is also available on NGC.To download SNAP container image:
[dpu] # crictl pull nvcr.io/nvidia/doca/doca_snap:4.1.0-doca2.0.2
To verify that the SNAP container image exists:
[dpu] # crictl images IMAGE TAG IMAGE ID SIZE nvcr.io/nvidia/doca/doca_snap 4.1.0-doca2.0.2 9d941b5994057 267MB k8s.gcr.io/pause 3.2 2a060e2e7101d 251kB
Warningk8s.gcr.io/pause image is required for the SNAP container.
To save the images as a .tar file:
[dpu] # mkdir images [dpu] # ctr -n=k8s.io image export images/snap_container_image.tar nvcr.io/nvidia/doca/doca_snap:4.1.0-doca2.0.2 [dpu] # ctr -n=k8s.io image export images/pause_image.tar k8s.gcr.io/pause:3.2
Transfer the .tar files and run the following to load them into Kubelet:
[dpu] # sudo ctr --namespace k8s.io image import images/snap_container_image.tar [dpu] # sudo ctr --namespace k8s.io image import images/pause_image.tar
Now, the image exists in the tool and is ready for deployment.
[dpu] # crictl images IMAGE TAG IMAGE ID SIZE nvcr.io/nvidia/doca/doca_snap 4.1.0-doca2.0.2 9d941b5994057 267MB k8s.gcr.io/pause 3.2 2a060e2e7101d 251kB