Engineer Atlas
OverviewLearnJourneysPacket LabDebuggerRoadmapPracticeInterviewCheat Sheet
OverviewLearnJourneysPacket LabDebuggerRoadmapPracticeInterviewCheat SheetCompareConnections
Computer Networking
  • How the Internet Works
  • Ethernet, MAC & the Link Layer
  • IP, IPv4, IPv6, Subnets, NAT & Ports
  • Routing
  • DNS
  • UDP
  • TCP
  • TLS & Certificates
  • HTTP/1.1, HTTP/2 & HTTP/3
  • WebSockets, SSE & Polling
  • Proxies, Load Balancers & CDNs
  • Firewalls & VPNs
  • Container & Kubernetes Networking
  • Network Performance
  • Network Debugging & Capstone
  • Packet Lab
OS + Networking
  • OS + Networking Together
Networking/Learn/Container & Kubernetes Networking
Computer Networking

Container & Kubernetes Networking

Network namespaces, virtual interfaces, bridges, and just enough Kubernetes to understand pod IPs, services, ingress and network policies.

The question this module answers · Two containers on one host both bind port 80. How is that not a conflict?
Network Namespaces
▶ interactive

A Linux network namespace is a private copy of the whole network stack — interfaces, addresses, routes, firewall rules, ports — so two containers can each bind :80 and never meet; a veth pair is the virtual cable that connects a namespace back to the host.

Container Networking

A container’s eth0 is one end of a veth pair on a host bridge; published ports are DNAT rules in the host kernel, container DNS is a tiny resolver the runtime injects, and `localhost` inside the container is the container — not the host.

Kubernetes Networking, Just Enough

Kubernetes gives every pod a routable IP with no NAT between pods, turns a Service into a virtual IP that the node kernel rewrites to a live pod, exposes L7 routing as an ingress proxy, resolves names through cluster DNS, and lets a network policy be a namespaced firewall — all implemented by a pluggable CNI.

Engineer Atlas
GitHub·LinkedIn