-
Notifications
You must be signed in to change notification settings - Fork 5.1k
Description
What Happened?
Minikube allows to run a kubernetes cluster on top of a container engine like docker or podman.
We can also specify a runtime with minikube like docker, containerd or cri-o.
In case of cri-o engine, it's nice as podman is also available inside the container
so with minikube podman-env there is a way to use podman engine inside minikube container and then share images with cri-o engine as it's sharing /var/lib/containers path
Minikube explains different ways of pushing images to the cluster
https://minikube.sigs.k8s.io/docs/handbook/pushing/
I think there is room for another method. As a podman user, I would like to continue to build using the default podman running inside the podman machine and cherry on the cake, see the images I'm building in cri-o (so it's close of podman-env method but I shouldn't need to run podman inside podman, just use the podman on the podman machine/host.
so if we could bind the podman host /var/lib/containers to the minikube container and that cri-o on that container use this mount folder, then as a user, I could do
podman build -t my-image . and then reference in a k8s yaml this image and doing kubectl apply -f mypod.yaml quickly spin a pod
it requires to add inside crio.conf the path of the mounted folder of the podman machine host rather than defaulting to the /var/lib
so, to sum up:
start minikube with an extra mount path
something like
minikube start --driver=podman --container-runtime=cri-o --mount --mount-string=/var/lib/containers:/host-containersand then add a way in kicbase image to add the extra crio configuration
[crio]
# Path to the "root directory". CRI-O stores all of its data, including
# containers images, in this directory.
# root = "/var/lib/containers/storage"
root = "/host-containers/storage"maybe the mount folder could be the rootless host path (so instead of mounting /var/lib/containers, mounting /var/home/core/.local/share/containers)
How do you see how we could have a toggle for changing/updating crio configuration to use the underlying images folder.
on a side issue, could cri-o runtime and podman runtime could be updated as well inside the kicbase image ?
Attach the log file
N/A
Operating System
macOS (Default)
Driver
Podman

