Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 14246|Răspunde: 0

Comparație între flanela rețelei K8S și calico

[Copiază linkul]
Postat pe 09.11.2020 11:23:01 | | | |
Recent, am lucrat la conținut PaaS și tocmai am intrat în contact cu Kubernetes, care implică acoperirea rețelei, adică comunicarea între containere cross-host. Astfel, au apărut o serie de componente open source, precum flanel, calico, weave etc. Aici sunt în principal Calico și Fannel.

Principiul flanelei



Flannel, un proiect dezvoltat de CoreOS, este probabil cel mai direct și popular plugin CNI. Este unul dintre cele mai mature exemple de arhitectură de rețea în sistemele de orchestrare a containerelor și este conceput pentru a permite o rețea mai bună între containere și între host. Odată cu apariția conceptului CNI, pluginul Flannel CNI este o introducere timpurie.

Flanel este relativ ușor de instalat și configurat comparativ cu alte opțiuni. Este ambalat ca un singur binar FlannelD, iar multe instrumente comune de implementare a clusterelor Kubernetes și multe distribuții Kubernetes pot instala Flannel implicit. Flannel poate folosi clusterul etcd existent al clusterului Kubernetes pentru a stoca informațiile sale de stare folosind API-ul, astfel încât nu necesită un depozit dedicat de date.

Flannel configurează o rețea suprapusă IPv4 de Nivel 3. Creează o rețea internă mare care acoperă fiecare nod din cluster. În această rețea Overlay, fiecare nod are o subrețea care este folosită pentru a atribui intern adrese IP. La configurarea unui pod, interfața Docker bridge de pe fiecare nod atribuie o adresă fiecărui container nou. Pod-urile din aceeași gazdă pot comunica folosind bridge-uri Docker, în timp ce pod-urile de pe gazde diferite folosesc flanneld pentru a-și încapsula traficul în pachete UDP, astfel încât să poată fi rutate către destinația corespunzătoare.

Flanel are mai multe tipuri diferite de backend-uri care pot fi folosite pentru încapsulare și rutare. Abordarea implicită și recomandată este să folosești VXLAN, deoarece VXLAN performează mai bine și necesită mai puțină intervenție manuală.


Arhitectura calico



Calico include următoarele componente importante: Felix, etcd, BGP Client și BGP Route Reflector. Următoarele sunt explicațiile fiecăruia dintre aceste componente.

Felix: Responsabil în principal pentru configurarea rutare, configurarea regulilor ACLS și livrarea, acestea există pe fiecare nod.

etcd: Depozitul distribuit cheie-valoare, responsabil în principal pentru consistența metadatelor rețelei, asigurarea acurateței stării rețelei Calico, poate fi partajat cu Kubernetes;

BGPClient (BIRD) este responsabil în principal pentru distribuirea informațiilor de rutare scrise de Felix către nucleu, către rețeaua actuală Calico, pentru a asigura eficiența comunicării între sarcinile de lucru.

Reflectorul BGPRoute (BIRD) este folosit în implementări la scară largă, renunțând la modul mesh de interconectare a tuturor nodurilor și folosind unul sau mai mulți reflectori BGPRoute pentru a finaliza rutarea și distribuția centralizată.


Principiul calicoului

Așa cum se arată în diagrama următoare, procesul este reprezentat de la containerul sursă prin gazda sursă, prin rutarea centrului de date, și în final către gazda destinație și în final alocat containerului de destinație.




Contrast

Din principiul de mai sus, se poate observa că flanel efectuează operații de despachetare a pachetelor pe baza redirecționării rutare, ceea ce irosește resurse de calcul ale CPU-ului. Graficul de mai jos compară performanța diferitelor componente de rețea open source găsite online. Se poate observa că, în termeni de lățime de bandă și latență de rețea, performanța lui Calico și a gazdei este similară.







Precedent:Creează un sistem de examene online cu întrebări existente
Următor:Fii atent la System.Environment.CurrentDirectory pentru a obține directorul curent
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com