Multiple container runtimes in a single Kubernetes cluster

Hi, my questions are:
Is it possible to have a Kubernetes cluster where the masters have a different container runtimes installed (for example master A has containerd master B has also containerd and master C has cri-o.) ?

Is it possible to add a node to a cluster where the master/s has/have one container runtime installed (for example Docker) and on the new node which I want to add I have installed cri-o or containerd ?

I believe that you could probably get away with a mix of CRI-O and containerd. This blog post talks about the introduction of the CRI in k8s.

Regarding Docker, I don’t think it’s supported anymore.

Kindof curious though, why would you want to do this?

Hi, I got curious if that is possible. I know from experience that Kubernetes and Openshift when installed ,they will allow only one type of CRI. So I wondered if there would be a problem to add another type of runtime after installation.

In addition, I also read that Kubernetes also supports a RuntimeClass object which basically allows to run the deployment/pod on nodes with different CRI.

That’s very interesting, I never really looked into how kubeadm sets up the container runtime. If no one else has done this or knows, the best way to figure it out is to try it out and see what happens.