Guides / Containers & Runtime

How to Install & Set Up CRI-O

Install CRI-O — a lightweight container runtime built specifically for Kubernetes — matched to your Kubernetes minor version.

Updated 20264-step setupDownload CRI-O →

Prerequisites

  • ✓A Linux host that will become a Kubernetes node
  • ✓Knowledge of which Kubernetes minor version you are targeting

Add the CRI-O repository on Ubuntu / Debian

Pin CRI-O to the same minor version as your Kubernetes cluster.

terminal
CRIO_VERSION=v1.30
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://pkgs.k8s.io/addons:/cri-o:/stable:/$CRIO_VERSION/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/cri-o-apt-keyring.gpg
echo "deb [signed-by=/etc/apt/keyrings/cri-o-apt-keyring.gpg] https://pkgs.k8s.io/addons:/cri-o:/stable:/$CRIO_VERSION/deb/ /" | sudo tee /etc/apt/sources.list.d/cri-o.list
sudo apt-get update

Add the CRI-O repository on RHEL / CentOS Stream / Fedora

Same pkgs.k8s.io project, same versioning scheme, just the RPM side of the same repo.

terminal
CRIO_VERSION=v1.30
cat <<EOF | sudo tee /etc/yum.repos.d/cri-o.repo
[cri-o]
name=CRI-O
baseurl=https://pkgs.k8s.io/addons:/cri-o:/stable:/$CRIO_VERSION/rpm/
enabled=1
gpgcheck=1
gpgkey=https://pkgs.k8s.io/addons:/cri-o:/stable:/$CRIO_VERSION/rpm/repodata/repomd.xml.key
EOF

Install and start CRI-O

apt
sudo apt-get install -y cri-o
sudo systemctl enable --now crio
dnf
sudo dnf install -y cri-o
sudo systemctl enable --now crio

Verify the installation

terminal
sudo crio --version

Documentation & Knowledge Base

Official DocumentationCRI-O Documentation →Knowledge Base & CommunityCRI-O GitHub Discussions →
Download CRI-O— all versions & official links→

Related Guides

containerdInstall guide →KubernetesInstall guide →PodmanInstall guide →

Need CRI-O deployed and managed for you?

We're OpenStack Dev — we design, deploy, and operate production DevOps infrastructure.

Get in TouchAll Install Guides