Is centos 9 stream a good choice? (sure)
I may end up switching to Sidero to setup and manage my onprem clusters, but for now I am continuing with centos, and moving from 8 to 9 so that I can use the wireguard module that comes with 9. After several failures I have tracked down the few steps different from a centos 8 stream install. Hopefully this will save someone a lot of days (and days and days, weeks?) of troubleshooting.
The key differences are:
1. In centos 8 stream you only needed to change the containerd from disabling containerd. In centos 9 stream you need to copy the whole default configuration and change it to use systemd cgroup. This script is currently working for me:
# make a copy of the default containerd configuration containerd config default | sudo tee /etc/containerd/config.toml # set to use systemd sed -i 's/SystemdCgroup = false/SystemdCgroup = true/g' /etc/containerd/config.toml # adjust pause image to what's actually installed PAUSE_IMAGE=$(kubeadm config images list | grep pause) sudo -E sed -i "s,sandbox_image = .*,sandbox_image = \"$PAUSE_IMAGE\",g" /etc/containerd/config.toml # restart the containerd service sudo systemctl enable containerd sudo systemctl restart container
2. There is something odd happening when performing the ‘kubeadm init’ which I was able to get around by doing the following:
# avoid a couple phases when performing kubeadmin init sudo kubeadm init --control-plane-endpoint="<put_endpoint_here>:6443" --upload-certs --pod-network-cidr=<put_cni_cidr_here> \ --skip-phases=addon/kube-proxy \ --skip-phases=addon/coredns # wait about 40 seconds then run the following to run the previously skipped phases sudo kubeadm init phase addon all \ --control-plane-endpoint="<put_endpoint_here>:6443" \ --pod-network-cidr=<put_cni_cidr_here>
If I get a chance I’ll put together a video for this since there doesn’t seem to be one out there in the wild yet.