Nesen es strādāju pie PaaS satura, un es tikko sazinājos ar Kubernetes, kas ietver tīkla pārklājumu, tas ir, saziņu starp starpresursdatoru konteineriem. Tātad ir parādījusies virkne atvērtā koda komponentu, piemēram, flanelis, kalikons, austs utt. Šeit galvenokārt ir Calico un Fannel.
Flaneļa princips
Flannel, CoreOS izstrādātais projekts, iespējams, ir vistiešākais un populārākais CNI spraudnis. Tas ir viens no nobriedušākajiem tīkla arhitektūras piemēriem konteineru orķestra sistēmās, un tas ir izstrādāts, lai nodrošinātu labāku starpkonteineru un starpresursdatoru tīklošanu. Līdz ar CNI koncepcijas pieaugumu, Flannel CNI spraudnis ir agrīns ievads.
Flaneli ir salīdzinoši viegli uzstādīt un konfigurēt, salīdzinot ar citām iespējām. Tas ir iepakots kā viens binārs FlannelD, un daudzi izplatīti Kubernetes klasteru izvietošanas rīki un daudzi Kubernetes izplatījumi pēc noklusējuma var instalēt Flannel. Flannel var izmantot esošo Kubernetes klastera etcd klasteri, lai saglabātu savu stāvokļa informāciju, izmantojot API, tāpēc tam nav nepieciešama īpaša datu krātuve.
Flannel konfigurē 3. slāņa IPv4 pārklājuma tīklu. Tas izveido lielu iekšējo tīklu, kas aptver katru klastera mezglu. Šajā pārklājuma tīklā katram mezglam ir apakštīkls, kas tiek izmantots, lai iekšēji piešķirtu IP adreses. Konfigurējot podu, Docker tilta saskarne katrā mezglā piešķir adresi katram jaunam konteineram. Pods vienā resursdatorā var sazināties, izmantojot Docker tiltus, savukārt dažādu resursdatoru pods izmanto flaneldu, lai iekapsulētu savu trafiku UDP paketēs, lai tās varētu novirzīt uz atbilstošo galamērķi.
Flanelim ir vairāki dažādi aizmugures veidi, kurus var izmantot iekapsulēšanai un maršrutēšanai. Noklusējuma un ieteicamā pieeja ir izmantot VXLAN, jo VXLAN darbojas labāk un prasa mazāk manuālas iejaukšanās.
Kaliko arhitektūra
Kaliko ietver šādus svarīgus komponentus: Felix, etcd, BGP klients un BGP maršruta reflektors. Tālāk ir sniegti paskaidrojumi par katru no šiem komponentiem.
Fēlikss: Galvenokārt atbildīgs par maršrutēšanas konfigurāciju, ACLS noteikumu konfigurāciju un piegādi, tas pastāv katrā mezglā.
etcd: Izplatīta atslēgas-vērtības krātuve, kas galvenokārt ir atbildīga par tīkla metadatu konsekvenci, nodrošinot Calico tīkla stāvokļa precizitāti, var tikt koplietota ar kubernetes;
BGPClient (BIRD) galvenokārt ir atbildīgs par Fēliksa rakstītās maršrutēšanas informācijas izplatīšanu kodolam uz pašreizējo Calico tīklu, lai nodrošinātu saziņas efektivitāti starp darba slodzēm.
BGPRoute reflektors (BIRD) tiek izmantots liela mēroga izvietojumos, atsakoties no visu mezglu savstarpējās savienošanas tīkla režīma un izmantojot vienu vai vairākus BGPRoute reflektorus, lai pabeigtu centralizētu maršrutēšanu un izplatīšanu.
Kaliko princips
Kā parādīts nākamajā diagrammā, process tiek attēlots no avota konteinera caur avota resursdatoru, izmantojot datu centra maršrutēšanu un visbeidzot uz mērķa resursdatoru un visbeidzot piešķirts mērķa konteineram.
Kontrasts
No iepriekš minētā principa var redzēt, ka flanelis veic pakešu izpakošanas operācijas, pamatojoties uz maršrutēšanas pārsūtīšanu, kas izšķērdē CPU skaitļošanas resursus. Zemāk esošajā diagrammā ir salīdzināta dažādu tiešsaistē atrodamo atvērtā koda tīkla komponentu veiktspēja. Var redzēt, ka joslas platuma un tīkla latentuma ziņā Calico un resursdatora veiktspēja ir līdzīga.
|