Everything You Ever Wanted to Know About CNIs (Container Network Interface) and ...
summary
Describes how Kubernetes networking actually works at the CNI level: kube-apiserver writes the Pod spec, kubelet asks containerd, containerd creates the pod network namespace and runs CNI binaries (via environment variables and stdin JSON) in sequence (loopback then a plugin like Flannel), the plugin configures eth0 and routes and returns a JSON result which containerd passes back to kubelet so the Pod becomes Running. Shows a wrapper script that pauses and logs CNI calls, warns that nodes can be marked Ready just because a CNI config JSON exists (even if networking is broken), gives the practical debugging tip of using nsenter into the pod network namespace to run tcpdump, and notes the CNI API is evolving toward gRPC.
AI-written summary · about
chapters (7)
- 0:00Introduction
- 4:33Installing and verifying CNI
- 12:52Creating a pod and running CNI
- 23:30Internal workings summary
- 25:34Debugging tips and tricks
- 28:43Future evolutions and summary
- 29:45Q&A
related talks
37mIntroduction to CNI, the Container Network Interface Project
31mFrom CNI to Service Mesh: Demystifying Kubernetes Networking
37mKubernetes and the CNI: Where We Are and What's Next - Casey Callendrello, CoreOS
34mUnderstanding the Kubernetes Networking Layer
34m"My CNI Plugin Did… What?!": Debugging CNI with Style & Aplomb
33mKubernetes Networking: How to Write a CNI Plugin From Scratch
32mDemystifying CNI Writing a CNI from Scratch
36mUnderstanding Windows Container Network in Kubernetes Using a Real Story
