CertGrid CertGrid
Hands-on Lab·Certified Kubernetes Administrator

Calico Internals and Policy Enforcement

Pod networking stops being magic once you can see the pieces: a per-node IPAM block, one veth and one host route per Pod, a blackhole for the local block, and Felix rendering policy into the node's packet filter. All of it is readable with ip and kubectl.

Services and Networking Guide 64 of 103 Advanced

Written against the versions above. An operator-installed Calico with VXLANCrossSubnet encapsulation. A manifest install or a BGP-mode install differs in the details, though the IPAM and routing model is the same.

All four nodes are on the same 192.168.0.0/24 subnet, which is what makes the CrossSubnet mode observable.
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. The pieces, and which of them is on every node

  2. IPAM: Calico does not use the node's podCIDR

  3. What the kubelet reads, and what it runs

  4. One veth and one host route per Pod

  5. CrossSubnet: the VXLAN device that is not being used

  6. Felix, and the filter it writes

Official sources