CNI (Container Network Interface)

Das Container Network Interface (CNI) ist ein Standard-Plugin-System, das in Kubernetes und anderen Container-Plattformen zur Verwaltung des Netzwerkzugangs von Containern verwendet wird. Es definiert, wie Container mit dem Netzwerk verbunden werden und wie IP-Adressen, Routing und Isolation umgesetzt werden.

Kubernetes selbst bringt kein eigenes Netzwerkmodul mit, sondern verwendet CNI-Plugins, die bei der Einrichtung eines Clusters installiert und konfiguriert werden. Bekannte Beispiele sind Calico, Cilium, Flannel oder Weave.

Wesentliche Funktionen von CNI:

  • Zuweisung von IP-Adressen für Pods
  • Routing-Regeln innerhalb und außerhalb des Clusters
  • Netzwerkisolierung durch NetworkPolicies (je nach Plugin)
  • Skalierbarkeit und Performanceoptimierung durch Overlays oder BPF

Vorteile eines CNI-Plugins:

  • Flexibilität durch Auswahl passender Netzwerkarchitektur
  • Integration in Cloud- oder On-Prem-Umgebungen
  • Erweiterbar durch Plugins und eigene Policies

Beispiele für CNI-Provider:

  • Calico: Netzwerk + Sicherheitsfunktionen (IP-Routing, NetworkPolicy, eBPF)
  • Cilium: eBPF-basiertes Netzwerk + Observability
  • Flannel: Einfaches Overlay-Netzwerk mit VXLAN
  • Weave Net: Plug-and-Play für kleinere Cluster

Verwandte Begriffe:

Calico, NetworkPolicy, Kubernetes, Pod, Cluster, Overlay Network, eBPF, DevSecOps