Cilium
Technologie

Cilium

eBPF-basiertes Networking, Security und Observability für Kubernetes

Cilium ist eine auf eBPF basierende Lösung für Networking, Security und Observability in Kubernetes. eBPF ist eine Linux-Kernel-Technologie, mit der Cilium Netzwerk- und Sicherheitslogik direkt im Kernel ausführt – ohne den Overhead traditioneller iptables-basierter Ansätze.

So funktioniert es

Cilium läuft als Kubernetes-CNI-Plugin (Container Network Interface) und erhält so Einblick in den Netzwerkverkehr jedes Pods. Weil sein Datenpfad in eBPF-Programmen implementiert ist, die im Kernel laufen, kann es Network Policy durchsetzen, Traffic per Load Balancing verteilen und die Kommunikation zwischen Pods verschlüsseln – mit deutlich weniger Overhead als proxy- oder iptables-basierte Alternativen. Außerdem arbeitet es mit Identitäten (Pods, Services) statt nur mit rohen IP-Adressen.

Kernkonzepte

  • eBPF — eine Linux-Kernel-Technologie, mit der Cilium eigene Programme an Netzwerkereignisse hängen kann, ohne Kernel-Module oder Out-of-Tree-Patches.
  • CiliumNetworkPolicy — eine erweiterte Network-Policy-Ressource mit Unterstützung für Layer-3–7-Regeln, einschließlich HTTP-bewusster Regeln, etwa zur Beschränkung erlaubter API-Pfade.
  • Identity — Cilium weist Gruppen von Pods mit gemeinsamen Labels eine Sicherheitsidentität zu, sodass Policy und Observability in Workloads statt in flüchtigen IPs ausgedrückt werden.
  • Hubble — Ciliums Observability-Komponente, die eine Live-Ansicht des Netzwerkverkehrs und der Policy-Entscheidungen auf Flow-Ebene im gesamten Cluster liefert.

Warum Teams Cilium einsetzen

  • Performance. eBPF-basierte Datenpfade vermeiden den Overhead pro Paket von iptables-Ketten, was im großen Maßstab zählt.
  • Identitätsbewusste Policy. Network Policies werden anhand der Workload-Identität und sogar der Semantik auf Anwendungsebene definiert, nicht nur anhand von IP/Port-Tupeln.
  • Tiefe Sichtbarkeit. Hubble liefert eine Echtzeitansicht pro Flow von Traffic und Policy-Durchsetzung im gesamten Cluster, nützlich für Debugging und Auditing.
  • Mehr als nur das CNI. Cilium kann auch Load Balancing übernehmen, kube-proxy ersetzen und sich zu einer Service-Mesh-Datenebene erweitern lassen.

Erste Schritte

Installiere Cilium als CNI deines Clusters (viele verwaltete Kubernetes-Angebote unterstützen es als unterstütztes Netzwerk-Add-on) und definiere dann CiliumNetworkPolicy-Ressourcen, um den Traffic zwischen Workloads zu steuern. Die folgenden Anleitungen behandeln gängige Policy-Muster und den Einstieg in die Sichtbarkeit mit Hubble.