CertGrid CertGrid
Concepts·Certified Kubernetes Administrator

Choosing and Installing a CNI Plugin

Why a fresh kubeadm cluster has no pod network, what a CNI plugin actually installs, how to choose between Calico, Cilium and Flannel, and how to read what Calico did to your nodes: one address block per node, routes to its neighbours, and encapsulation it turns out not to be using.

Installation and Cluster Builds Guide 11 of 103 Intermediate

Written against the versions above. Interface names, block boundaries and VXLAN device IDs are generated per cluster and will differ on yours. The shape of the output is what to compare.

Four nodes on one subnet. That detail decides whether Calico encapsulates anything.
Server NameIP AddressOSRolesCPURAMHDD
CKA1001192.168.0.175Ubuntu 26.04 LTSControl Plane Node2 Core4 GB50 GB
CKA1001-NODE01192.168.0.176Ubuntu 26.04 LTSWorker Node2 Core4 GB50 GB
CKA1001-NODE02192.168.0.177Ubuntu 26.04 LTSWorker Node2 Core4 GB50 GB
CKA1001-NODE03192.168.0.178Ubuntu 26.04 LTSWorker Node2 Core4 GB50 GB

Before you start

  1. Why the cluster does not ship with one

  2. Choosing: Calico, Cilium or Flannel

  3. Install Calico, CRDs first

  4. What it wrote to disk

  5. One address block per node

  6. The routes, and the encapsulation it is not using

  7. What Calico runs, and where

  8. Prove pods on different nodes can talk

Official sources