Unable to start minikube in RHEL 8 based, due to the missing container runtime as a systemd service.
**[l@minikube ~]$ sudo minikube start --vm-driver=none
π minikube v1.4.0 on Centos 8.0.1905
π‘ Tip: Use 'minikube start -p
π Starting existing none VM for "minikube" ...
β Waiting for the host to be provisioned ...
π£ Failed to enable container runtime: running command: sudo systemctl start docker: exit status 5
πΏ Sorry that minikube crashed. If this was unexpected, we would love to hear from you:
π https://github.com/kubernetes/minikube/issues/new/choose
[l@minikube ~]$ sudo minikube start --vm-driver=none --container-runtime=cri-o
π minikube v1.4.0 on Centos 8.0.1905
π‘ Tip: Use 'minikube start -p
π Starting existing none VM for "minikube" ...
β Waiting for the host to be provisioned ...
π£ Failed to enable container runtime: running command: sudo systemctl restart crio: exit status 5
πΏ Sorry that minikube crashed. If this was unexpected, we would love to hear from you:
π https://github.com/kubernetes/minikube/issues/new/choose**:
CentOS Linux release 8.0.1905 (Core):
Which runtime did you install/want, and what was the entire output of that system to start command ?
It seems to install OK, as long as docker has been started and selinux has been disabled.
sudo yum install --nobest docker-ce
sudo setenforce 0
There doesn't seem to be any Docker version for CentOS 8 yet, so it installs an older version:
$ sudo minikube start --vm-driver=none
π minikube v1.4.0 on Centos 8.0.1905
π€Ή Running on localhost (CPUs=2, Memory=3780MB, Disk=17394MB) ...
βΉοΈ OS release is CentOS Linux 8 (Core)
π³ Preparing Kubernetes v1.16.0 on Docker 18.06.3-ce ...
π Pulling images ...
π Launching Kubernetes ...
π€Ή Configuring local host environment ...
β οΈ The 'none' driver provides limited isolation and may reduce system security and reliability.
β οΈ For more information, see:
π https://minikube.sigs.k8s.io/docs/reference/drivers/none/
β οΈ kubectl and minikube configuration will be stored in /root
β οΈ To use kubectl or minikube commands as your own user, you may need to relocate them. For example, to overwrite your own settings, run:
βͺ sudo mv /root/.kube /root/.minikube $HOME
βͺ sudo chown -R $USER $HOME/.kube $HOME/.minikube
π‘ This can also be done automatically by setting the env var CHANGE_MINIKUBE_NONE_USER=true
β Waiting for: apiserver proxy etcd scheduler controller dns
π Done! kubectl is now configured to use "minikube"
π‘ For best results, install kubectl: https://kubernetes.io/docs/tasks/tools/install-kubectl/
The console looks rather poor, though:

You are correct, but I don't want to use Docker, I'm using RHEL8 and want to use Podman for containers management .
It seems that the messages above ("exit status 5") are a symptom of the software not being installed:
Failed to start crio.service: Unit crio.service not found.
You are correct, _but_ I don't want to use Docker, I'm using RHEL8 and want to use Podman for containers management .
It seems that there is no crio package for CentOS 8 yet, and for RHEL you are supposed to use OpenShift (rather than Kubernetes)... Podman can run containers, but for this you will need CRI-O.
Regular podman run is having some out-of-the-box issues as well:
error configuring network namespace for container 8cf402b2d46c31e7fc80fa3a215342b510e18ebc3510e8baf92df941cad4bbd0: Missing CNI default network
Possibly it could be the old version used (1.0.2). But /etc/cni/net.d is empty ?
Could try the "container-tools" module, but I think this will do (podman load)
@afbjorklund RHEL8 uses[1] runc as a Container runtime instead of Docker, and this is the argument I wanted to pass in the --container-runtime but it didn't work, minikube needs the container-runtime as a daemon while it is not a daemon in RHEL8 anymore.
@afbjorklund
The CNI default is there, here is the contents of /etc/cni/net.d/87-podman-bridge.conflist:
root@centos8 net.d]# cat 87-podman-bridge.conflist
{
"cniVersion": "0.3.0",
"name": "podman",
"plugins": [
{
"type": "bridge",
"bridge": "cni0",
"isGateway": true,
"ipMasq": true,
"ipam": {
"type": "host-local",
"subnet": "10.88.0.0/16",
"routes": [
{ "dst": "0.0.0.0/0" }
]
}
},
{
"type": "portmap",
"capabilities": {
"portMappings": true
}
}
]
}
RHEL8 uses[1] runc as a Container runtime instead of Docker,
Docker also uses runc, so those are _different_ types of runtimes...
We should give a better error message, when trying to use the none driver without having the runtime installed (and running). Currently the output is cryptic, and surely doesn't offer any help remedying:
π£ Failed to enable container runtime: running command: sudo systemctl start docker: exit status 5
It should say something happy like "you need to install a container runtime" (docker/containerd/cri-o)
@afbjorklund
Well the problem is that there is a container runtime already installed in the RHEL8/CentOS8, but the problem is that minikube can't see it, because minikube sees the container runtime only if it is a service/daemon, while it is in the RHEL8/CentOS8 is an embedded with systemd (serverless style).
@laith-leo : maybe this helps to explain: https://www.ianlewis.org/en/tag/container-runtime-series
The CNI default is there, here is the contents of /etc/cni/net.d/87-podman-bridge.conflist
Yes, it _was_ included with the podman package. No idea why the file when missing, first time.
I was able to get CRI-O 1.15.2 running, but it took a _lot_ of hand-holding to get it to actually start...
There are no packages yet, so I used the static builds (some of them, like conmon, even missing!)
You need:
/usr/bin/runc (yum install runc)This will _definitely_ need some bundling, before it is usable. Hopefully some proper RPMS, too ?
The current kubeadm instructions don't work at all (i.e. the yum repository is completely empty)
# Install prerequisites yum-config-manager --add-repo=https://cbs.centos.org/repos/paas7-crio-115-release/x86_64/os/ # Install CRI-O yum install --nogpgcheck cri-o
See: https://github.com/cri-o/cri-o/issues/2833
And podman is 1.0.2-dev
And for the _important_ stuff, in order to get the emojis working in gnome-terminal you need:
sudo yum install google-noto-emoji-color-fonts
Then it looks better:

I knew it that the only to get the things worked is by building and compling the things from source code which is not ideal! I would like to use a regular rpm package from a stable system repository.
From our conversation, I understand that minikube doesn't work in RHEL8/CentOS8. with standard packages and installations.
It does work OK, but you are right in that the repositories are not ready yet. The recommendation is to stay with CentOS 7 until they are... (later this year)
You can always use the regular minikube iso, rather than running directly on your host. I havenβt tried, but both VirtualBox and libvirt (KVM) should work.
And I found out why my podman installation had been broken, it was after the minikube delete:
https://github.com/cri-o/cri-o/blob/master/tutorials/kubeadm.md
First, CRI-O and kubeadm reset don't play well together, as
kubeadm resetempties /etc/cni/net.d/.
So that means uninstalling kubernetes breaks all CNI. Not cool.
Added #5547 (about "/usr/local/bin") and #5549 (about "docker") for the bugs found when testing this.
I swear that https://minikube.sigs.k8s.io/docs/reference/drivers/none/ used to say that Docker was the only supported container runtime for none, but it must have disappeared in a refactor.
I would like to see #5549 get fixed though.
Marking this as a bug because the user experience here is so bad.
none is used with a non-Docker runtimeHelp wanted!
we still need to do this
Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close.
Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle stale
Stale issues rot after 30d of inactivity.
Mark the issue as fresh with /remove-lifecycle rotten.
Rotten issues close after an additional 30d of inactivity.
If this issue is safe to close now please do so with /close.
Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle rotten
Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen.
Mark the issue as fresh with /remove-lifecycle rotten.
Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/close
@fejta-bot: Closing this issue.
In response to this:
Rotten issues close after 30d of inactivity.
Reopen the issue with/reopen.
Mark the issue as fresh with/remove-lifecycle rotten.Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/close
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.
Most helpful comment
You are correct, but I don't want to use Docker, I'm using RHEL8 and want to use Podman for containers management .