Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 13849|Antwort: 0

K8S-Netzwerk-Flanell- und Calico-Vergleich

[Link kopieren]
Veröffentlicht am 09.11.2020 11:23:01 | | | |
Kürzlich habe ich an PaaS-Inhalten gearbeitet und bin gerade mit Kubernetes in Kontakt gekommen, was Netzwerkabdeckung beinhaltet, also die Kommunikation zwischen Cross-Host-Containern. So sind eine Reihe von Open-Source-Komponenten entstanden, wie Flanell, Calico, Weave usw. Hier sind hauptsächlich Calico und Fannel.

Flanellprinzip



Flannel, ein von CoreOS entwickeltes Projekt, ist wahrscheinlich das direkteste und beliebteste CNI-Plugin. Es ist eines der reifsten Beispiele für Netzwerkarchitektur in Container-Orchestrierungssystemen und ist darauf ausgelegt, bessere Inter-Container- und Interhost-Netzwerke zu ermöglichen. Mit dem Aufstieg des CNI-Konzepts ist das Flannel CNI-Plugin eine frühe Einführung.

Flannel ist im Vergleich zu anderen Optionen relativ einfach zu installieren und zu konfigurieren. Es ist als einzelnes binäres FlannelD verpackt, und viele gängige Kubernetes-Cluster-Bereitstellungstools sowie viele Kubernetes-Distributionen können Flannel standardmäßig installieren. Flannel kann den bestehenden etcd-Cluster des Kubernetes-Clusters nutzen, um seine Zustandsinformationen über die API zu speichern, sodass kein dedizierter Datenspeicher erforderlich ist.

Flannel konfiguriert ein IPv4-Overlay-Netzwerk der Schicht 3. Es schafft ein großes internes Netzwerk, das jeden Knoten im Cluster abdeckt. In diesem Overlay-Netzwerk verfügt jeder Knoten über ein Subnetz, das zur internen Zuweisung von IP-Adressen verwendet wird. Beim Konfigurieren eines Pods weist die Docker-Bridge-Schnittstelle auf jedem Knoten jedem neuen Container eine Adresse zu. Pods im selben Host können über Docker-Bridges kommunizieren, während Pods auf verschiedenen Hosts Flanneld verwenden, um ihren Datenverkehr in UDP-Paketen zu kapseln und so zum entsprechenden Ziel weitergeleitet zu werden.

Flannel hat verschiedene Arten von Backends, die für Kapselung und Routing verwendet werden können. Der Standard- und empfohlene Ansatz ist VXLAN, da VXLAN besser funktioniert und weniger manuelle Eingriffe erfordert.


Calico-Architektur



Der Calico umfasst folgende wichtige Komponenten: Felix, etcd, BGP Client und BGP Route Reflector. Im Folgenden finden Sie die Erklärungen zu jeder dieser Komponenten.

Felix: Hauptsächlich verantwortlich für Routing-Konfiguration, ACLS-Regelkonfiguration und -Auslieferung, es existiert auf jedem Knoten.

etcd: Verteilter Key-Value-Speicher, der hauptsächlich für die Konsistenz der Netzwerkmetadaten verantwortlich ist und die Genauigkeit des Calico-Netzwerkzustands gewährleistet, kann mit Kubernetes geteilt werden;

BGPClient (BIRD) ist hauptsächlich dafür verantwortlich, die von Felix an den Kernel geschriebenen Routing-Informationen im aktuellen Calico-Netzwerk zu verteilen, um die Effektivität der Kommunikation zwischen den Arbeitslasten sicherzustellen.

BGPRoute Reflector (BIRD) wird in groß angelegten Implementierungen eingesetzt, wobei der Mesh-Modus zur Verbindung aller Knoten aufgegeben wird und ein oder mehrere BGPRoute-Reflektoren zur zentralen Routing und Verteilung verwendet werden.


Das Kalikoprinzip

Wie im folgenden Diagramm dargestellt, wird der Prozess vom Quellcontainer über den Quellhost, über das Routing des Rechenzentrums und schließlich zum Zielhost dargestellt und schließlich dem Zielcontainer zugewiesen.




Kontrast

Aus dem oben genannten Prinzip lässt sich erkennen, dass Flannel Paketentpackungsoperationen auf Basis von Routing-Weiterleitung durchführt, was CPU-Rechenressourcen verschwendet. Die folgende Grafik vergleicht die Leistung verschiedener Online-Open-Source-Netzwerkkomponenten. Man sieht, dass die Leistung von Calico und Host in Bezug auf Bandbreite und Netzwerklatenz ähnlich ist.







Vorhergehend:Erstelle ein Online-Prüfungssystem mit bestehenden Fragen
Nächster:Seien Sie vorsichtig bei System.Environment.CurrentDirectory, um das aktuelle Verzeichnis zu erhalten
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com