Cilium 1.0 ist produktionsreif

Das Cilium-Projekt möchte Netzwerke ans Containerzeitalter anpassen und verzichtet dafür zugunsten von eBPF auf IPtables. Nun ist die Version 1.0 erschienen, die sich dank API-Stabilität und LTS-Support für den produktiven Einsatz eignen soll.

Kubernetes, Docker, Mesos: Cilium zielt auf Netzwerke in großen und dynamisch aufgebauten (Container)-Clustern ab. Dank ständig wechselnder IP-Adressen skaliert IPtables in solchen Umgebungen nur schlecht, erzeugt einen recht großen Overhead und erschwert den Admins zugleich Audits und Troubleshooting. Cilium löst sich daher von IPtables und setzt auf den neuerdings im Kernel verankerten BPF, den Berkley Packet Filter. Diese laufen in Dessen Vorteile schildert einer der BPF-Mitentwickler in einem Blogpost.

Workload-Identifikation

Cilium gibt es unter anderem als CNI-Plugin (Container Networking Interface) für Kubernetes. Es filtert Netzwerktraffic nicht auf Basis der stets wechselnden IP-Adressen, sondern aufgrund von Workload-Merkmalen, die es in jedem IP-basierten Protokoll enkodieren kann. Bei den Workloads kann es sich zum Beispiel um einen Webserver, ein CMS oder einen anderen Dienst handeln.

Funktioniert diese Workload-Identifizierung nicht, arbeitet Cilium auch IP- und CIDR-basiert. Dabei vermeidet es allerdings das Hardkodieren von IP-Adressen und orientiert sich an den Kubernetes-Servicenamen. Zugleich kennt es verschiedene APIs wie HTTP/REST, GRPC oder Kafka und nutzt dieses Wissen, um Zugriffssicherheit durchzusetzen.

Im Cluster eingebettet: So sieht die Webseite des Projekts Cilium.

Daneben bietet Cilium verteiltes und skalierbares Layer 3 und 4 Load Balancing, das Dienst- zu Dienst-basiert arbeitet und dessen Performance auch bei einer hohen Anzahl an Diensten nicht einbricht. Es lässt sich über ein API konfigurieren und implementiert die Kubernetes-Cluster-IP-Dienste.

Zugleich bringt Cilium 1.0 laut Blogeintrag ein vereinfachtes Netzwerk-Modell mit, das Sicherheit über einen Overlay-Network-Modus gewährleistet (was der Standard ist) oder über einen Direct-Routing-Modus, der allerdings die darunterliegende Schicht über die Container-IDs informieren muss. Nicht zuletzt liefert Cilium im Cluster eine erhöhte Sichtbarkeit, unter anderem über den BPF-basierten High Performance Monitor, über Ciliums eigene Monitoring-Lösung Microscope oder über Prometheus-Metriken.

Jetzt produktionsreif

Version 1.0 zeichnet sich vor allem durch Zusagen aus, die es externen Projekten und Unternehmen ermöglichen, Cilium produktiv einzusetzen. So etwa die Zusage, das API im Laufe des kompletten Lebenszyklus der Version 1.x stabil zu halten und rückwärtskompatibel zu gestalten. Eine Major-Release soll alle drei Monate erscheinen, bestimmte Commits lassen sich zu Stable Release Candidates erklären und werden dann in die Release Branches zurückportiert. Auch gibt es inzwischen definierte Prozesse, um Security-Bugs und -Zwischenfälle zu behandeln. Nicht zuletzt helfen Slack und Github in Supportfragen.

Wer Cilium 1.0 zusammen mit Kubernetes testen möchte, kann dies unter anderem über Minikube versuchen.

E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben