例えば kind (Kubernetes IN Docker)
では
ビルドしたDockerイメージをロードしてK8sで利用できる。
# https://kind.sigs.k8s.io/docs/user/quick-start/#loading-an-image-into-your-cluster
$ kind load docker-image $IMAGE:$TAG
Rancher Desktopはコンテナランタイムをdockerd
containerd
いずれか選択でき、
それぞれのCLI docker
nerdctl
がバンドルされている。
containerd
を選択したときにはnamespaceにk8s.io
を指定してビルドすればよい。
# https://docs.rancherdesktop.io/tutorials/working-with-images/#building-local-images
$ nerdctl build --namespace k8s.io -t $IMAGE:$TAG .
ちなみにkindはcontainerd本体にバンドルされているctrでnamespaceにk8s.io
を指定してイメージをロードしているのでやっていることは同じ。
https://github.com/kubernetes-sigs/kind/blob/v0.20.0/pkg/cluster/nodeutils/util.go#L85