Cluster information:
Kubernetes version: 1.26.9
Cloud being used: N/A
Installation method: Native Package manager
Host OS: Ubuntu
CNI and version: rke-network-plugin, I think.
CRI and version: docker://23.0.6
I’m new to the world of Kubernetes and I’m attempting to accomplish something that appears to be experimental by its very nature. Currently, a program that I am working on has implemented a cluster utilizing Minikube on a single server. All operations are currently being controlled via build scripts, locally. configuration files are ingested for certain scenarios. Generic Dockerfiles and manifest files have been written, but are copied and updated based on the scenario configuration file.
The program will be moving to a new phase, which would include moving onto a client’s system. They utilize Podman and thus we need to move our work over to Podman. At the same time, we want to move away from Minikube and start using Rancher in its place.
With that being said I have a series of questions that I am hoping I can get answers on. I can’t seem to find collective answers.
I guess the main question is can we utilize Podman in place of Docker in the scenario I have given? It is my understanding that Kubernetes doesn’t care about how the container images had been built, agnostic so to speak. However, with that logic, you would simply need to point Kubernetes to an image that was built using Podman in place of Docker.
So with that said, is it that simple? How do I point kubectl to use the Podman local repository, rather than the Docker? It seems simple enough to build using Podman and name it with a private repository such as GitLab and push it to that repo. From there I would need to have Kubernetes pull from that private repo. But rather wasting that time to build, push, and then pull again. How do I simply direct Kubernetes to the Podman local registry.
No, it can’t be that simple. After all, if it was I would have found article after article on how to implement it. So where do I start, how do I swap Docker for Podman. I have been looking at container runtimes and it seems that might be a good place to start. maybe? Docker appear to be its own container runtime, while Podman utilizes runC. Docker also seems an alias for containerd or vice versa.
First and foremost, I am hoping someone at the very least will say "This is possible, keep working at it, because I keep reading mixed things and limited resources as how to accomplish this.