KubeDojo

Extension Interfaces: CNI, CSI, and CRI

AK
by Alexis Kinsella··16 min read
Extension Interfaces: CNI, CSI, and CRI

The node shows NotReady. The kubelet is running — systemctl status kubelet confirms it. But pods won't schedule, and there's nothing helpful in the events. Is it the CNI plugin binary? The container runtime socket path? A cniVersion mismatch in the conflist? Knowing which of the three extension interfaces owns which responsibility cuts diagnosis from 30 minutes to 3.

Kubernetes spent years disentangling its runtime dependencies. Networking was baked into the kubelet. Docker was hardcoded. Cloud storage drivers were compiled into the binary. Each of those decisions created maintenance problems that took multiple releases to fix. CNI plugin management moved out of the kubelet in 1.24. Dockershim was removed in the same release. In-tree cloud storage drivers were removed through 1.31.

Sign in to access this lesson

Create a free account or sign in to enroll in the CKA — Certified Kubernetes Administrator course and access all 63 lessons.

CKA — Certified Kubernetes Administrator

63 lessons

Browse the full course curriculum →