A complete, hands-on learning path to master Kubernetes networking concepts in 24 hours through structured labs, manifests, and real-world scenarios.
This repository provides everything you need to go from Kubernetes networking beginner to competent practitioner in 24 focused hours. Each hour includes:
- Detailed learning objectives
- Ready-to-use YAML manifests
- Executable shell scripts
- Hands-on lab exercises
- Assessment checkpoints
- Flashcard prompts for retention
- Skill Level: Intermediate (basic Linux/container knowledge, new to K8s networking)
- Prerequisites: Docker installed, basic kubectl familiarity
- Time Commitment: 24 hours (can compress to 12h or 8h priority tracks)
# Clone this repository
git clone https://github.com/kubeskills/networking.git
cd networking
# Run setup script (installs kind, kubectl, and creates test cluster)
./setup.sh
# Verify installation
kubectl get nodesUse Killercoda Kubernetes Labs: https://killercoda.com/
| Hour | Topic | Key Concepts | Lab Time |
|---|---|---|---|
| 01 | Pod Network Model & Fundamentals | Flat networking, CNI basics | 30m |
| 02 | CNI Plugins Deep Dive | Calico, Flannel, Cilium comparison | 30m |
| 03 | Services & kube-proxy | ClusterIP, iptables, IPVS | 25m |
| 04 | DNS in Kubernetes | CoreDNS, resolution, troubleshooting | 30m |
| 05 | Service Types | NodePort, LoadBalancer, ExternalName | 35m |
| 06 | Ingress Controllers | NGINX Ingress, routing rules | 30m |
| 07 | NetworkPolicy Basics | Pod isolation, allow rules | 35m |
| 08 | Advanced NetworkPolicy | Egress, DNS exceptions, CIDR | 35m |
| 09 | π₯ Break & Review | Consolidation, flashcards | 45m |
| 10 | CNI Deep Dive | Plugin lifecycle, configs | 25m |
| 11 | Cross-Node Communication | Packet tracing, VXLAN vs BGP | 30m |
| 12 | Network Debugging | netshoot, tcpdump, troubleshooting | 40m |
| 13 | Service Mesh Basics | Istio/Linkerd concepts | 20m |
| 14 | IPv6 & Dual-Stack | Dual-stack configuration | 25m |
| 15 | Headless Services & StatefulSets | Stable network identities | 35m |
| 16 | EndpointSlices | Scalability improvements | 25m |
| 17 | Network Performance | Benchmarking, observability | 30m |
| 18 | eBPF & Cilium | Modern networking with eBPF | 20m |
| 19 | Multi-Cluster Networking | Cluster Mesh, federation | 20m |
| 20 | Security Best Practices | Zero-trust, mTLS | 25m |
| 21 | Troubleshooting Case Studies | Real-world debugging | 45m |
| 22 | Production Patterns | Anti-patterns, best practices | 20m |
| 23 | Review & Spaced Repetition | Flashcard review, lab reruns | 30m |
| 24 | Final Assessment | Comprehensive practical exam | 45m |
# Navigate to each hour's directory
cd hour-01/
# Read the hour's README
cat README.md
# Run the lab script
./lab.sh
# Apply manifests as instructed
kubectl apply -f manifests/
# Complete assessment questions
cat assessment.mdShort on time?
- 12-Hour Priority Track: See
COMPRESSED-12H.md
- Pomodoro: 25m focus + 5m breaks (automated timer in
scripts/pomodoro.sh) - Flashcards: Anki-compatible deck in
flashcards/ - Active Recall: Assessment questions at end of each hour
This course aligns with:
- β CKA (Certified Kubernetes Administrator) - Networking domain (20%)
- β CKAD (Certified Kubernetes Application Developer) - Services & Networking (20%)
- β CKS (Certified Kubernetes Security Specialist) - NetworkPolicies (15%)
Quick reference for all essential commands and patterns: CHEATSHEET.md
Complete practical exam in final-assessment/ includes:
- Multi-tier application deployment
- Full networking stack (Services, Ingress, NetworkPolicies)
- Debugging scenario
- Grading rubric (pass: 75/100)
k8s-networking-24h/
βββ README.md # This file
βββ setup.sh # One-command setup script
βββ CHEATSHEET.md # One-page reference
βββ COMPRESSED-12H.md # 12-hour priority track
βββ hour-01/ # Hour 1: Pod Network Fundamentals
β βββ README.md
β βββ lab.sh
β βββ manifests/
β βββ assessment.md
βββ hour-02/ # Hour 2: CNI Plugins
β βββ README.md
β βββ lab.sh
β βββ manifests/
β βββ assessment.md
βββ [hour-03 through hour-24]/ # Similar structure
βββ final-assessment/ # Hour 24 comprehensive exam
β βββ README.md
β βββ scenario.md
β βββ rubric.md
β βββ solution/
βββ flashcards/ # Anki-compatible flashcards
β βββ deck.txt
β βββ import-instructions.md
βββ scripts/ # Utility scripts
β βββ pomodoro.sh
β βββ check-progress.sh
β βββ reset-cluster.sh
Found an issue or want to improve a lab? Contributions welcome!
- Fork the repository
- Create a feature branch (
git checkout -b feature/improved-lab) - Commit changes (
git commit -am 'Improve Hour 5 lab') - Push to branch (
git push origin feature/improved-lab) - Open a Pull Request
MIT License - See LICENSE for details
- Official Kubernetes documentation
- CNCF Kubernetes Networking SIG
- Calico, Cilium, and Flannel communities
- NetworkPolicy recipes by @ahmetb
- Issues: GitHub Issues for bugs/questions
- Discussions: GitHub Discussions for general help
- Community: Join CKNE - Certified Kubernetes Networking Engineeer Community in KubeSkills
Prerequisites β Hours 1-4 (Fundamentals) β Hours 5-8 (Services & Policies)
β
Hour 9 (Review) β Hours 10-12 (Deep Dive) β Hours 13-16 (Advanced)
β
Hours 17-20 (Production) β Hours 21-23 (Troubleshooting & Review)
β
Hour 24 (Final Assessment) β Mastery! π
Ready to start? Run ./setup.sh and begin with Hour 1!
β If this helps you, please star the repository!