Kubernetes Networking with Calico
Hands-on labs using ContainerLab to master Calico networking concepts — from IPAM and pod routing to BGP, WireGuard, and Ingress TLS.
Before You Begin
Set Up the Repository
Clone the repo and configure the lab environment before starting the lessons.
Calico Documentation
Explore the official Calico docs for in-depth reference and configuration guides.
Join the Calico Community
Connect with fellow users, ask questions, and stay up to date with the latest from Project Calico.
Lessons
Calico IPAM
Explore how Calico assigns pod IPs using IP pools and block affinity.
Pod Networking
Understand how pods communicate within a node using the Calico CNI plugin.
Pod Routing Across Nodes
Learn how traffic is routed between pods on different nodes using host routing.
Kubernetes Services - ClusterIP
Deep dive into how ClusterIP services route traffic via iptables and kube-proxy.
Kubernetes DNS
Explore CoreDNS and how Kubernetes resolves service names to cluster IPs.
Calico Overlay Networks
Configure VXLAN and IP-in-IP overlays for cross-subnet pod communication.
Calico BGP
Set up BGP peering between Calico nodes to exchange pod routes dynamically.
LoadBalancer & BGP Advertisements
Advertise LoadBalancer service IPs to external networks via BGP.
Multiple IPPools
Create and assign multiple IP pools to segregate workloads by namespace or node.
Advertise IPPool via BGP
Announce pod IP ranges to upstream routers for direct external pod access.
Headless Services
Use headless services to discover individual pod IPs directly via DNS.
Network QoS - Bandwidth Limiting
Apply ingress and egress bandwidth limits to pods using Calico annotations.
WireGuard Encryption
Enable transparent WireGuard encryption for all pod-to-pod traffic in the cluster.
IPv4 & IPv6 Dual-Stack
Configure Calico for dual-stack networking with both IPv4 and IPv6 pod addresses.
Selective BGP Peering
Control which nodes peer with which BGP neighbors using node selectors.
Static IPs for Pods
Assign fixed IP addresses to specific pods using Calico IPAM annotations.
NodeLocal DNSCache
Speed up DNS resolution by running a local DNS cache daemonset on every node.
MTU Configuration
Tune MTU settings across your cluster to optimise throughput and avoid fragmentation.
Calico Ingress
Configure Ingress resources with Calico network policy for fine-grained traffic control.
Ingress TLS
Secure Ingress endpoints with TLS certificates issued by cert-manager.