Skip to Content

Kubernetes requires crictl to be installed in root’s path: Detailed Guide to Fix

minikube start –vm-driver=none
😄 minikube v1.32.0 on Almalinux 8.6
✨ Using the none driver based on user configuration

❌ Exiting due to GUEST_MISSING_CONNTRACK: Sorry, Kubernetes 1.28.3 requires crictl to be installed in root's path

The message you’re seeing is from attempting to start Minikube with a specific configuration on your Almalinux 8.6 system. Here’s a breakdown of the message and what it means:

  1. minikube start –vm-driver=none:
    • This command initiates Minikube, a tool that lets you run Kubernetes locally. The –vm-driver=none option tells Minikube to run the Kubernetes components directly on the host machine instead of inside a virtual machine (VM). This is often used in environments where creating VMs isn’t possible or desired.
  2. 😄 minikube v1.32.0 on Almalinux 8.6:
    • This part indicates that you’re running Minikube version 1.32.0 on an Almalinux 8.6 system. It’s just informational, letting you know the Minikube version and the operating system it’s being executed on.
  3. ✨ Using the none driver based on user configuration:
    • This message confirms that Minikube is using the none driver to start Kubernetes, as specified in your command. It’s acknowledging your choice to run Kubernetes directly on the host’s operating system.
  4. ❌ Exiting due to GUEST_MISSING_CONNTRACK: Sorry, Kubernetes 1.28.3 requires crictl to be installed in root’s path:
    • This is an error message explaining why Minikube failed to start. The GUEST_MISSING_CONNTRACK part is an internal error code. The message clarifies that Kubernetes version 1.28.3, which Minikube is trying to run, requires crictl (a command-line interface tool for CRI-compatible container runtimes) to be installed and accessible in the system’s PATH, specifically for the root user. Since crictl is not found, Minikube cannot proceed with starting Kubernetes.

To resolve this issue, you need to install crictl as per Kubernetes’ requirements.

How to fix Kubernetes 1.28.3 requires crictl to be installed in root’s path

The suggested solution involves downloading a specific version of crictl from its GitHub releases page and installing it to a location in your system’s PATH (like /usr/local/bin) so that it’s accessible to the root user, allowing Minikube to start successfully.

Here’s a step-by-step guide to fix this issue.

  1. Download crictl:
    Use wget to download the specified version of crictl from the GitHub releases of the cri-tools project.
    wget https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.26.0/crictl-v1.26.0-linux-amd64.tar.gz
    
  2. Extract and Install crictl:
    Extract the downloaded tarball to /usr/local/bin, which is typically included in the system’s PATH. This makes crictl accessible from anywhere in your shell. Use sudo because you’re writing to a system directory.
    sudo tar zxvf crictl-v1.26.0-linux-amd64.tar.gz -C /usr/local/bin
    
  3. Verify Installation:
    After installation, you can verify crictl is correctly installed and accessible by checking its version:
    crictl --version
    

    This should output the version of crictl you just installed.

  4. Retry Starting Minikube:
    With crictl installed, you can now retry starting Minikube:
    minikube start --vm-driver=none
    

This process should resolve the GUEST_MISSING_CONNTRACK error related to the missing crictl, allowing Minikube to start using the none driver on your Almalinux 8.6 system.

Remember, when using the none driver, Minikube will be configured to run Kubernetes directly on the host machine, without creating a VM. Ensure your system meets all the requirements for running Kubernetes in this configuration.

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

5 ways to list installed packages in Linux