Kubernetes Networking Labs

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

Lessons

Calico IPAM

Lesson 01

Explore how Calico assigns pod IPs using IP pools and block affinity.

Pod Networking

Lesson 02

Understand how pods communicate within a node using the Calico CNI plugin.

Pod Routing Across Nodes

Lesson 03

Learn how traffic is routed between pods on different nodes using host routing.

Kubernetes Services - ClusterIP

Lesson 04

Deep dive into how ClusterIP services route traffic via iptables and kube-proxy.

Kubernetes DNS

Lesson 05

Explore CoreDNS and how Kubernetes resolves service names to cluster IPs.

Calico Overlay Networks

Lesson 06

Configure VXLAN and IP-in-IP overlays for cross-subnet pod communication.

Calico BGP

Lesson 07

Set up BGP peering between Calico nodes to exchange pod routes dynamically.

LoadBalancer & BGP Advertisements

Lesson 08

Advertise LoadBalancer service IPs to external networks via BGP.

Multiple IPPools

Lesson 09

Create and assign multiple IP pools to segregate workloads by namespace or node.

Advertise IPPool via BGP

Lesson 10

Announce pod IP ranges to upstream routers for direct external pod access.

Headless Services

Lesson 11

Use headless services to discover individual pod IPs directly via DNS.

Network QoS - Bandwidth Limiting

Lesson 12

Apply ingress and egress bandwidth limits to pods using Calico annotations.

WireGuard Encryption

Lesson 13

Enable transparent WireGuard encryption for all pod-to-pod traffic in the cluster.

IPv4 & IPv6 Dual-Stack

Lesson 14

Configure Calico for dual-stack networking with both IPv4 and IPv6 pod addresses.

Selective BGP Peering

Lesson 15

Control which nodes peer with which BGP neighbors using node selectors.

Static IPs for Pods

Lesson 16

Assign fixed IP addresses to specific pods using Calico IPAM annotations.

NodeLocal DNSCache

Lesson 17

Speed up DNS resolution by running a local DNS cache daemonset on every node.

MTU Configuration

Lesson 18

Tune MTU settings across your cluster to optimise throughput and avoid fragmentation.

Calico Ingress

Lesson 19

Configure Ingress resources with Calico network policy for fine-grained traffic control.

Ingress TLS

Lesson 20

Secure Ingress endpoints with TLS certificates issued by cert-manager.