Minikube is an invaluable tool for developers looking to test and develop Kubernetes applications locally.
However, when running Minikube with Kubernetes version 1.24 or higher using the none driver and Docker as the container runtime, you might encounter the NOT_FOUND_CRI_DOCKERD error.
minikube start –vm-driver=none
😄 minikube v1.32.0 on AlmaLinux 8.6
✨ Using the none driver based on user configuration
👍 Starting control plane node minikube in cluster minikube
🤹 Running on localhost (CPUs=4, Memory=31573MB, Disk=29587MB) …
🐳 Exiting due to NOT_FOUND_CRI_DOCKERD:
Get Your Free Linux training!
Join our free Linux training and discover the power of open-source technology. Enhance your skills and boost your career! Learn Linux for Free!💡 Suggestion:
The none driver with Kubernetes v1.24+ and the docker container-runtime requires cri-dockerd.
Please install cri-dockerd using these instructions:
https://github.com/Mirantis/cri-dockerd
Table of Contents
How to install cri-docker in Redhat Centos Fedora
To fix the NOT_FOUND_CRI_DOCKERD error on Red Hat Enterprise Linux (RHEL) or CentOS systems by installing the cri-dockerd component using an RPM package, follow these steps.
The provided RPM package is suitable for systems using the el8 repository, commonly associated with RHEL 8, CentOS 8, and similar distributions.
Step 1: Download the RPM Package
First, download the cri-dockerd RPM package from the provided URL using wget or curl. If wget is not installed on your system, you can use curl with the -L flag to follow redirects and -o to specify the output file name.
wget https://github.com/Mirantis/cri-dockerd/releases/download/v0.3.9/cri-dockerd-0.3.9-3.el8.x86_64.rpm
Or with curl:
curl -L https://github.com/Mirantis/cri-dockerd/releases/download/v0.3.9/cri-dockerd-0.3.9-3.el8.x86_64.rpm -o cri-dockerd-0.3.9-3.el8.x86_64.rpm
Step 2: Install the RPM Package
Once the package is downloaded, install it using the rpm command or yum, which can resolve dependencies automatically. Using yum is recommended because it handles dependency resolution which rpm does not.
sudo yum install -y cri-dockerd-0.3.9-3.el8.x86_64.rpm
Or, if you prefer using dnf (which replaces yum in more recent distributions like CentOS 8 and RHEL 8):
sudo dnf install -y cri-dockerd-0.3.9-3.el8.x86_64.rpm
Step 3: Enable and Start cri-dockerd
After the installation is complete, you need to start and enable the cri-dockerd service to ensure it’s running and will automatically start on boot.
sudo systemctl enable --now cri-docker.service
Step 4: Verify the Service is Running
Check the status of the cri-dockerd service to confirm it’s active and running without issues.
systemctl status cri-docker.service
Step 5: Restart Minikube
With cri-dockerd installed and running, you can now restart Minikube:
minikube start --vm-driver=none
This should resolve the issue, allowing Minikube to run Kubernetes using Docker as the container runtime with the none driver on your RHEL or CentOS system.
Conclusion
Installing cri-dockerd using the RPM package streamlines the process on RHEL and CentOS systems, ensuring compatibility with Kubernetes’ requirements for Docker as a container runtime. This approach simplifies the setup and avoids the need to build from source, making it an efficient solution for enterprise environments.
How to install cri-docker in Ubuntu
wget https://github.com/Mirantis/cri-dockerd/releases/download/v0.3.9/cri-dockerd_0.3.9.3-0.ubuntu-focal_amd64.deb
dpkg -i cri-dockerd_0.3.9.3-0.ubuntu-focal_amd64.deb
Here’s a step-by-step solution:
- Downloading cri-dockerd:
- The wget command is used to download the cri-dockerd Debian package from its GitHub releases page.
- The URL
https://github.com/Mirantis/cri-dockerd/releases/download/v0.3.9/cri-dockerd_0.3.9.3-0.ubuntu-focal_amd64.deb
points to the specific version (v0.3.9) of the cri-dockerd package designed for Ubuntu 20.04 (Focal Fossa) and for 64-bit (amd64) systems. - This package contains the cri-dockerd binary and its associated files, packaged in a format suitable for Debian-based distributions like Ubuntu.
- Installing the Package:
- The dpkg -i command is used to install the Debian package that was just downloaded.
- dpkg is the Debian package manager, and the -i flag stands for “install”. Following this flag is the path to the .deb package file that was downloaded in the previous step.
- The command
dpkg -i cri-dockerd_0.3.9.3-0.ubuntu-focal_amd64.deb
instructsdpkg
to install the cri-dockerd package. This will unpack the package content into the appropriate locations on the filesystem and set up cri-dockerd for use.
After executing these commands, the cri-dockerd service should be installed on the Ubuntu system.
5 ways to install packages in Linux
2 ways to Install a package from a specific repository in Linux
Understanding Package Management: A Guide to Package Managers in Linux