Skip to content

Networking Toolkit

Toolkit Track | 5 Modules | ~4.5 hours total

The Networking Toolkit covers advanced Kubernetes networking beyond basic Services and Ingress. Cilium brings eBPF-powered networking with identity-based security and deep observability. Service mesh adds traffic management and mTLS for complex microservice architectures.

This toolkit builds on Security Principles and complements the Security Tools Toolkit.

Before starting this toolkit:

#ModuleComplexityTime
5.1Cilium[COMPLEX]50-60 min
5.2Service Mesh[COMPLEX]50-60 min
5.3DNS Deep Dive[MEDIUM]40 min
5.4MetalLB[MEDIUM]35 min
5.5Flannel[MEDIUM]45-50 min
5.6Calico[COMPLEX]55-65 min
5.7kube-router[MEDIUM]40-45 min
5.8Multus[MEDIUM]40-45 min

After completing this toolkit, you will be able to:

  1. Deploy Cilium as CNI — Replace kube-proxy, enable eBPF networking
  2. Write network policies — Identity-based L3-L7 policies
  3. Observe network traffic — Hubble for flow visibility
  4. Understand service mesh — When to use Istio/Linkerd and when not to
  5. Configure mTLS — Zero-trust service-to-service communication
  6. Deploy Calico — BGP networking, policy tiers, WireGuard encryption, IPAM
WHICH NETWORKING APPROACH?
─────────────────────────────────────────────────────────────────
"I need basic network policies and a modern CNI"
└──▶ Cilium (without service mesh)
• Identity-based policies
• eBPF performance
• Hubble observability
• Replaces kube-proxy
"I need mTLS and traffic management (canary, retries)"
└──▶ Decide based on complexity:
├── Simple needs ──▶ Cilium Service Mesh (sidecar-free)
├── Medium needs ──▶ Linkerd (lightweight, Rust proxy)
└── Complex needs ──▶ Istio (most features, most overhead)
COMPARISON:
─────────────────────────────────────────────────────────────────
Cilium Linkerd Istio
─────────────────────────────────────────────────────────────────
Proxy eBPF (kernel) Rust sidecar Envoy sidecar
Memory/pod ~0 MB ~10 MB ~50-100 MB
Latency overhead Minimal ~1ms ~2ms
Complexity Low Medium High
mTLS ✓ ✓ ✓
L7 policies ✓ Limited Advanced
Traffic mgmt Basic Basic Advanced
Learning curve Medium Low High
┌─────────────────────────────────────────────────────────────────┐
│ KUBERNETES NETWORKING STACK │
├─────────────────────────────────────────────────────────────────┤
│ │
│ LAYER 7 - APPLICATION │
│ ┌───────────────────────────────────────────────────────────┐ │
│ │ Ingress Controller (nginx, traefik) │ │
│ │ API Gateway │ │
│ │ Service Mesh L7 policies (HTTP routing, auth) │ │
│ └───────────────────────────────────────────────────────────┘ │
│ │ │
│ LAYER 4 - TRANSPORT │
│ ┌───────────────────────────────────────────────────────────┐ │
│ │ Services (ClusterIP, NodePort, LoadBalancer) │ │
│ │ Service Mesh mTLS │ │
│ │ Network Policies (TCP/UDP rules) │ │
│ └───────────────────────────────────────────────────────────┘ │
│ │ │
│ LAYER 3 - NETWORK │
│ ┌───────────────────────────────────────────────────────────┐ │
│ │ CNI Plugin (Cilium, Calico, Flannel) │ │
│ │ Pod-to-Pod networking │ │
│ │ IP address management │ │
│ └───────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
Module 5.1: Cilium
│ CNI + eBPF fundamentals
│ Network policies
│ Hubble observability
Module 5.2: Service Mesh
│ When to use service mesh
│ Istio core concepts
│ mTLS and traffic management
[Toolkit Complete] → Scaling & Reliability Toolkit
AspectTraditional (iptables)eBPF (Cilium)
PerformanceO(n) rule matchingO(1) hash lookup
VisibilityPacket captureRich flow metadata
UpdatesSlow, disruptiveAtomic, live
IdentityIP-basedLabel-based
THE SERVICE MESH SPECTRUM
─────────────────────────────────────────────────────────────────
No Mesh Cilium Mesh Linkerd Istio
────────────────────────────────────────────────────────────────
Simple Low overhead Balanced Full featured
NetworkPolicies eBPF-based Rust proxy Envoy proxy
Basic observ. Good observ. Great observ. Best observ.
No mTLS mTLS mTLS mTLS + AuthZ
No traffic mgmt Basic Basic Advanced
← Less complexity More features →
← Less overhead More overhead →
ScenarioRecommendation
Modern K8s, want best CNIYes, replaces default CNI
Need L7 policiesYes, CiliumNetworkPolicy
Want to replace kube-proxyYes, eBPF handles Services
Using managed K8s with good CNIMaybe, depends on requirements
ScenarioRecommendation
< 10 servicesProbably not
Need mTLS for complianceYes, or use Cilium mesh
Complex traffic managementYes, Istio
Cost-sensitive, many podsAvoid heavy meshes, consider Linkerd/Cilium
ModuleKey Exercise
CiliumDeploy CNI, implement network policies, use Hubble
Service MeshDeploy Istio, enable mTLS, traffic routing
CalicoDeploy Calico on kind, tiered policies, BGP peering

“Network security isn’t about blocking traffic—it’s about understanding traffic. Cilium and service mesh give you that understanding.”