Welcome to the Linux Foundation Forum!

Lab 3.1 - CNI related

kmahyyg Posts: 2
edited April 2022 in LFS258 Class Forum

I've finished K8S the hard way myself. But I still cannot complete 3.1 exercise due to CNI problem. On the latest Ubuntu LTS 22.04/Arch Linux, with either containerd or cri-o as runtime, runc or cri-o-runc as startup tool, networking is always failed, so the whole cluster won't boot up or won't work. (K8S and CRI 1.23)

When running exactly after kubeadm init, it just have no network interface created or calico-node-controller pod cannot access API server via API server service cluster IP because that IP is not assigned to tunl0 .

Since Dockershim is removal from 1.24, I do think the lab should deprecate Docker, and hug with either CRI-O or Containerd.


  • kmahyyg
    kmahyyg Posts: 2

    But there's something interesting that if using Ubuntu 20.04, with all the same commands and all the same configuration made manually by human, even the config file in the corresponding location and config map in etcd are same with above buggy environment, the whole cluster is working.

    It's super ridiculous.

    I do think it might related to kernel, so I downgraded kernel in Arch from 5.17 to 5.4. But still not working.

  • chrispokorni
    chrispokorni Posts: 2,199

    Hi @kmahyyg,

    When installing cri-o, in preparation an environment variable OS needs to be set to the release version of the installed OS of the host. If there is a mismatch between the variable and the actual OS version, cri-o will not install. Hence, cri-o does not install with OS variable set to Ubuntu 20.04 on a host running Ubuntu 22.04. The most effortless fix would have been to just update the OS variable to match Ubuntu 22.04, instead of installing an entirely new Ubuntu version.

    The course content is still focusing on an initial installation of Kubernetes v1.22 in Ch 3, followed by an upgrade to v1.23 in Ch 4, so the dockershim removal does not impact the labs in their current format.



Upcoming Training