Eszenatoki berriak: egungo egiaztapenek "Pod-to-Pod" sareko errendimendu-probak egiten dituzte, eta "Pod-to-Service" script berri bat gehitu da, probak mundu errealeko baldintzetatik hurbilago exekutatzen dituena. Praktikan, APIarekin zure Podak oinarriarekin funtzionatzen du zerbitzu gisa, eta ez Pod ip helbidearen bidez (noski TCP eta UDP egiaztatzen ditugu bi eszenatokietarako).
Baliabideen kontsumoa: proba bakoitzak bere baliabideen konparaketa du orain
Aplikazioen probak kentzea: jada ez ditugu HTTP, FTP eta SCP probak egiten, komunitatearekin eta CNIko arduradunekin dugun lankidetza emankorra TCPren eta kizkurren emaitzen arteko hutsune bat aurkitu baitu CNI abiaraztearen atzerapenagatik (Pod-en lehen segundoetan). abiarazte, baldintza errealetan ohikoa ez dena).
Iturburu irekia: proba-iturri guztiak (scriptak, yml ezarpenak eta jatorrizko datu "gordinak") eskuragarri daude Hemen
Erreferentzia Protokoloa
Protokoloa zehatz-mehatz deskribatzen da HemenKontuan izan artikulu hau Ubuntu 18.04-ri buruzkoa dela nukleo lehenetsiarekin.
Ebaluaziorako CNI bat hautatzea
Proba hau yaml fitxategi batekin konfiguratutako CNIak alderatzera zuzenduta dago (beraz, scriptek instalatutako guztiak, hala nola VPP eta beste, kanpoan geratzen dira).
Lehenik eta behin, MTU automatikoki hautemateak TCPren errendimenduan duen eragina egiaztatzen dugu:
MTUren eragina TCP errendimenduan
UDP erabiltzean are hutsune handiagoa aurkitzen da:
MTUren eragina UDP errendimenduan
Probetan agerian utzitako errendimendu-eragin HANDIA ikusita, itxaropen gutun bat bidali nahi diegu CNIren mantentzaile guztiei: gehitu MTU detekzio automatikoa CNIri. Katatuak, unikornioak eta baita politena ere gordeko dituzu: Devop txikia.
Hala ere, CNI MTU automatikoki detektatzeko laguntzarik gabe erabili behar baduzu, eskuz konfigura dezakezu errendimendua lortzeko. Kontuan izan Calico, Canal eta WeaveNet-i aplikatzen zaiela.
Nire eskaera txikia batera doazen CNIei...
CNI Testing: Datu gordinak
Atal honetan, CNI MTU zuzenarekin alderatuko dugu (automatikoki zehaztuta edo eskuz ezarrita). Hemen helburu nagusia datu gordinak grafikoetan erakustea da.
Koloreen kondaira:
grisa - lagina (hau da, burdina hutsa)
berdea - 9500 Mbps-tik gorako banda zabalera
horia - 9000 Mbps-tik gorako banda-zabalera
laranja - 8000 Mbps-tik gorako banda zabalera
gorria - 8000 Mbps-tik beherako banda zabalera
urdina - neutroa (ez dago banda zabalerarekin lotuta)
Kargarik gabeko baliabideen kontsumoa
Lehenik eta behin, egiaztatu baliabideen kontsumoa klusterra "lotan" dagoenean.
Kargarik gabeko baliabideen kontsumoa
Pod-to-Pod
Eszenatoki honek suposatzen du bezeroaren Podak zuzenean konektatzen duela Pod zerbitzariarekin bere IP helbidea erabiliz.
Pod-to-Pod eszenatokia
TCP
Pod-to-Pod TCP emaitzak eta dagokion baliabide-kontsumoa:
UDP
Pod-to-Pod UDP emaitzak eta dagozkion baliabideen kontsumoa:
Pod-to-Zerbitzua
Atal hau benetako erabilera kasuetarako garrantzitsua da, bezero Pod pod zerbitzariarekin konektatzen da ClusterIP zerbitzuaren bidez.
Pod-to-Service Scripta
TCP
Pod-to-Service TCP emaitzak eta dagokion baliabide-kontsumoa:
UDP
Pod-to-Service UDP emaitzak eta dagozkion baliabideen kontsumoa:
Sareko politiken laguntza
Aurreko guztien artean, politika onartzen ez duen bakarra Flanela da. Beste guztiek behar bezala ezartzen dituzte sare-politikak, sarrerakoak eta irteerakoak barne. Lan bikaina!
CNI enkriptatzea
Egiaztaturiko CNIen artean, Pods-en arteko sare-trukea enkriptatu dezaketenak daude:
Antrea IPsec erabiliz
Calico wireguard erabiliz
Cilium IPsec erabiliz
WeaveNet IPsec erabiliz
throughput
CNI gutxiago geratzen direnez, jar ditzagun eszenatoki guztiak grafiko batean:
Baliabideen kontsumoa
Atal honetan, TCP eta UDP-n Pod-to-Pod komunikazioa prozesatzeko erabiltzen diren baliabideak ebaluatuko ditugu. Ez du balio Pod-to-Service grafiko bat marrazteak ez baitu informazio gehigarririk ematen.
Guztia batuta
Saia gaitezen grafiko guztiak errepikatzen, subjektibotasun apur bat sartu dugu hemen, benetako balioak "vwry fast", "low", etab hitzekin ordezkatuz.
Ondorioa eta nire ondorioak
Hau apur bat subjektiboa da, emaitzen interpretazio propioa ematen ari naizelako.
Pozten naiz CNI berriak agertu zirelako, Antreak ondo funtzionatu zuen, lehen bertsioetan ere funtzio asko ezarri ziren: MTU detekzio automatikoa, enkriptatzea eta instalazio erraza.
Errendimendua alderatzen badugu, CNI guztiek ondo funtzionatzen dute, Kube-OVN eta Kube-Router izan ezik. Kube-Router-ek ere ezin izan zuen MTU detektatu, ez nuen dokumentazioan inon konfiguratzeko modurik aurkitu (Hemen gai honi buruzko eskaera zabalik dago).
Baliabideen kontsumoari dagokionez, Cilium-ek beste batzuk baino RAM gehiago erabiltzen du oraindik, baina fabrikatzaileak argi eta garbi kluster handiei zuzenduta dago, eta hori ez da argi eta garbi hiru nodoko kluster batean egindako probaren berdina. Kube-OVN-k CPU eta RAM baliabide asko kontsumitzen ditu, baina Open vSwitch-en oinarritutako CNI gaztea da (Antreak bezala, hobeto funtzionatzen du eta gutxiago kontsumitzen du).
Flannel izan ezik, guztiek dituzte sare-politikak. Oso litekeena da inoiz ez dituela onartzen, helburua lurrunetan arbia baino sinpleagoa baita: zenbat eta arinago, orduan eta hobeto.
Gainera, besteak beste, zifratzearen errendimendua harrigarria da. Calico CNI zaharrenetako bat da, baina enkriptatzea duela aste pare bat baino ez zen gehitu. IPsec-en ordez wireguard aukeratu zuten, eta, besterik gabe, bikain eta harrigarri funtzionatzen du, probaren zati honetan beste CNIak guztiz eclipsing. Jakina, enkriptatzeari esker baliabideen kontsumoa handitzen da, baina lortutako errendimenduak merezi du (Calicok sei aldiz hobetu du zifratze proban Cilium-ekin alderatuta, bigarren postuan dagoena). Gainera, Wireguard edozein unetan gaitu dezakezu Calico klusterera zabaldu ondoren, eta nahi izanez gero, denbora laburrean edo betiko desgaitu dezakezu. Ikaragarri erosoa da, baina! Gogorarazten dizugu Calicok ez duela MTU automatikoki detektatzen (eginbide hau etorkizuneko bertsioetarako aurreikusita dago), beraz, ziurtatu MTU konfiguratzen duzula zure sareak Jumbo Frames (MTU 9000) onartzen badu.
Besteak beste, kontuan izan Cilium-ek kluster-nodoen arteko trafikoa enkriptatu dezakeela (eta ez Pods-en artean bakarrik), eta hori oso garrantzitsua izan daiteke kluster-nodo publikoentzat.
Ondorio gisa, erabilera kasu hauek proposatzen ditut:
CNI behar dut oso kluster txiki baterako EDO ez dut segurtasunik behar: lan egin flannel, CNI arinena eta egonkorrena (zaharrenetakoa ere bada, kondairaren arabera, Homo Kubernautus edo Homo Contaitorus-ek asmatu zuen.). Proiekturik asmagarriena ere interesatuko zaizu k3, egiaztatu!
CNI behar da ohiko kluster baterako: Calico - zure aukera, baina ez ahaztu MTU konfiguratzea behar izanez gero. Sareko politikekin erraz eta modu naturalean jolastu dezakezu, enkriptatzea aktibatu eta desaktibatu, etab.
Eskala (oso) handiko klusterrako CNI behar da: Tira, probak ez du kluster handien portaera erakusten, gustura egingo nuke probak, baina ez ditugu ehundaka zerbitzari 10Gbps konexioa duten. Beraz, aukerarik onena zure nodoetan proba aldatu bat egitea da, gutxienez Calico eta Cilium-ekin.