By default, crictl needs to know which CRI runtime socket to connect to.

Create config file:

sudo mkdir -p /etc
sudo tee /etc/crictl.yaml <<EOF
runtime-endpoint: unix:///run/containerd/containerd.sock
image-endpoint: unix:///run/containerd/containerd.sock
timeout: 10
debug: false
EOF

Common runtime socket paths: | Runtime | Socket path | |---------|-------------| | containerd | /run/containerd/containerd.sock | | CRI-O | /run/crio/crio.sock | | Docker (CRI-compatible mode) | /var/run/dockershim.sock (deprecated) |

Test config:

crictl info

To get the absolute latest features—especially for filesystem checkpointing—build from source.

By default, crictl points to the Docker socket. You must redirect it to your runtime.

# Set version (check latest at https://github.com/kubernetes-sigs/cri-tools/releases)
VERSION="v1.30.0"

If you are on Debian/Ubuntu or CentOS/RHEL, the easiest method is via the standard repositories or the Kubernetes SIG repositories.

For Debian/Ubuntu:

sudo apt-get update
sudo apt-get install -y cri-tools

For CentOS/RHEL/Fedora:

sudo yum install -y cri-tools
# or
sudo dnf install -y cri-tools
sudo snap install crifs-tools --edge