This tutorial assumes you've already installed and setup CRI-O. If you have not, start here. It also assumes you've set up your system to use kubeadm. If you haven't done so, here is a good tutorial
First, CRI-O and kubeadm reset
don't play well together, as kubeadm reset
empties /etc/cni/net.d/
.
Therefore, it is good to change the crio.network.network_dir
in crio.conf
to somewhere kubeadm won't touch.
Further, you'll need to use your plugins to figure out your pod-network-cidr. If you use the default bridge plugin defined here, set
CIDR=10.88.0.0/16
If you're using a flannel network, set
CIDR=10.244.0.0/16
There is a handy, preprepared /etc/default/kubelet
file here
This will configure kubeadm to run with the correct defaults CRI-O needs to run.
Note: This file assumes you've set your cgroup_driver as systemd
Given you've set CIDR, and you've properly set the kubelet file, all you need to do is start crio (as defined here), and run:
kubeadm --pod-network-cidr=$CIDR