m/n/k/containerd: use preseeded pause container

To allow no-network tests we need to bundle the pause container.

Change-Id: I1fa6bb70c10a16097d35d919941f501ddc5f784d
Reviewed-on: https://review.monogon.dev/c/monogon/+/2767
Tested-by: Jenkins CI
Reviewed-by: Lorenz Brun <lorenz@monogon.tech>
diff --git a/metropolis/node/kubernetes/kubelet.go b/metropolis/node/kubernetes/kubelet.go
index 2d18b72..136bc28 100644
--- a/metropolis/node/kubernetes/kubelet.go
+++ b/metropolis/node/kubernetes/kubelet.go
@@ -29,6 +29,7 @@
 	kubeletconfig "k8s.io/kubelet/config/v1beta1"
 
 	ipb "source.monogon.dev/metropolis/node/core/curator/proto/api"
+
 	"source.monogon.dev/metropolis/node/core/localstorage"
 	"source.monogon.dev/metropolis/node/kubernetes/pki"
 	"source.monogon.dev/metropolis/node/kubernetes/reconciler"
@@ -135,6 +136,8 @@
 	cmd := exec.CommandContext(ctx, "/kubernetes/bin/kube", "kubelet",
 		fargs.FileOpt("--config", "config.json", configRaw),
 		fmt.Sprintf("--container-runtime-endpoint=unix://%s", s.EphemeralDirectory.Containerd.ClientSocket.FullPath()),
+		//TODO: Remove with k8s 1.29 (https://github.com/kubernetes/kubernetes/pull/118544)
+		"--pod-infra-container-image", "preseed.metropolis.internal/node/kubernetes/pause:latest",
 		fargs.FileOpt("--kubeconfig", "kubeconfig", s.kubeconfig),
 		fmt.Sprintf("--root-dir=%s", s.KubeletDirectory.FullPath()),
 	)