Search code examples
dockerkubernetesmicrok8scontainerd

Is it possible to set microk8s to use docker engine instead of containerd?


First of all, I am not an expert in container orchestration tools.

I've just installed microk8s according to the guide: https://microk8s.io/docs/

And if I run microk8s kubectl get nodes, I see, that my node is actually running containerd engine.

My application build process is set up to generate docker file and automatically create docker images, so I would like microk8s also use docker.

I used minikube before, and now I decided to try microk8s. Now I am a bit confused, maybe it was a bad idea to stick with docker from the beginning?

Is it possible to set a docker engine for microk8s?


I've never used contained before, and I don't know how to prepare contained images for my app. That's why I am asking.


Solution

  • To run Nvidia GPU enabled containers, I had to switch from containerd to docker in microk8s. Here's how I did that:

    1. Edit /var/snap/microk8s/current/args/kubelet

    2. Change --container-runtime=docker from remote. Then, execute the following commands.

    3. microk8s stop

    4. microk8s start