Ntụle arụmọrụ CNI maka Kubernetes karịrị netwọkụ 10G (August 2020)
TL; DR: Ndị CNI niile na-arụ ọrụ dị ka ha kwesịrị, ma e wezụga Kube-Router na Kube-OVN, Calico, ma e wezụga nchọpụta MTU na-akpaghị aka, bụ nke kacha mma.
Edemede-mmelite nke ndenye ego m gara aga (2018 и 2019), n'oge ule, m na-eji Kubernetes 1.19 na Ubuntu 18.04 na CNI emelitere dị ka nke August 2020.
Tupu anyị banye n'ime metrik...
Kedu ihe dị ọhụrụ kemgbe Eprel 2019?
Nwere ike ịnwale n'ụyọkọ nke gị: Ị nwere ike iji ngwa ọrụ anyị mee ule na ụyọkọ nke gị Kubernetes Network Benchmark: knb
Ihe ngosi ọhụrụ: Ntụle nlele ugbu a na-agba ule arụmọrụ netwọkụ "Pod-to-Pod", agbakwunyere script "Pod-to-Service" ọhụrụ nke na-agba ọsọ ule nso na ọnọdụ ụwa n'ezie. Na omume, Pod gị nwere API na-arụ ọrụ na ntọala dịka ọrụ, ọ bụghị site na adreesị IP Pod (n'ezie anyị na-elele ma TCP na UDP maka ọnọdụ abụọ ahụ).
Oriri akụrụngwa: nnwale ọ bụla nwere ntụnyere akụrụngwa nke ya
Iwepu Nnwale Ngwa: Anyị anaghịzi eme ule HTTP, FTP na SCP dị ka mmekorita nke ọma anyị na ndị obodo na ndị na-elekọta CNI ekpughere ọdịiche dị n'etiti nsonaazụ iperf na nsonaazụ TCP na curl n'ihi igbu oge na mmalite CNI (sekọnd ole na ole mbụ nke Pod). mmalite, nke na-adịghị ahụkarị na ezigbo ọnọdụ).
Ebe mepere emepe: isi mmalite ule niile (edemede, ntọala yml na data “raw” izizi) dị ebe a
Protocol ule ntụaka
A kọwara ụkpụrụ ahụ n'ụzọ zuru ezu ebe aBiko mara na akụkọ a bụ maka Ubuntu 18.04 nwere kernel ndabara.
Ịhọrọ CNI maka Ntụle
Nnwale a bụ iji atụnyere CNI ahaziri na otu faịlụ yaml (ya mere, ewepụrụ ndị niile etinyere na scripts, dị ka VPP na ndị ọzọ).
Nke mbụ, anyị na-elele mmetụta nke nchọpụta MTU akpaka na arụmọrụ TCP:
Mmetụta MTU na arụmọrụ TCP
A na-achọta oghere ka ukwuu mgbe ị na-eji UDP:
Mmetụta nke MTU na UDP Performance
Nyere nnukwu mmetụta arụmọrụ ekpughere na ule ndị ahụ, anyị ga-achọ iziga ndị na-elekọta CNI niile akwụkwọ ozi olileanya: biko tinye nchọpụta MTU akpaka na CNI. Ị ga-echekwa kittens, unicorns na ọbụna nke kachasị mma: obere Devop.
Otú ọ dị, ọ bụrụ na ịchọrọ iji CNI na-enweghị nkwado maka nchọpụta MTU na-akpaghị aka, ị nwere ike hazie ya na aka gị iji nweta arụmọrụ. Biko mara na nke a metụtara Calico, Canal na WeaveNet.
Obere arịrịọ m na-arịọ ndị CNI so ya...
Nnwale CNI: Data Raw
N'akụkụ a, anyị ga-atụnyere CNI na MTU ziri ezi (ekpebisi ike na-akpaghị aka ma ọ bụ tinye aka). Ebumnuche bụ isi ebe a bụ igosi data raw na eserese.
Akụkọ agba:
isi awọ - sample (ya bụ, ígwè iferi)
akwụkwọ ndụ akwụkwọ ndụ - bandwit karịa 9500 Mbps
odo - bandwit karịrị 9000 Mbps
oroma - bandwit karịa 8000 Mbps
red - bandwit n'okpuru 8000 Mbps
acha anụnụ anụnụ - na-anọpụ iche (anaghị emetụta bandwit)
Oriri akụrụngwa anaghị ebu
Nke mbụ, lelee oriri akụrụngwa mgbe ụyọkọ ahụ "na-ehi ụra".
Oriri akụrụngwa anaghị ebu
Pod-na-Pod
Ọnọdụ a na-eche na onye ahịa Pod na-ejikọ ozugbo na ihe nkesa Pod site na iji adreesị IP ya.
Ọnọdụ Pod-to-Pod
TCP
Nsonaazụ TCP Pod-to-Pod na oriri akụrụngwa kwekọrọ:
UDP
Nsonaazụ Pod-to-Pod UDP na oriri akụrụngwa kwekọrọ:
Pod-na-Ọrụ
Akụkụ a dị mkpa maka ezigbo ojiji, onye ahịa Pod na-ejikọta na Pod nkesa site na ọrụ ClusterIP.
Ederede Pod-na-Ọrụ
TCP
Nsonaazụ TCP nke Pod-to- Service yana oriri akụrụngwa kwekọrọ:
UDP
Nsonaazụ UDP Pod-to-Service yana oriri akụrụngwa kwekọrọ:
Nkwado amụma netwọkụ
N'ime ihe niile dị n'elu, naanị onye na-akwadoghị ndọrọ ndọrọ ọchịchị bụ Flannel. Ndị ọzọ niile na-emejuputa atumatu netwọkụ nke ọma, gụnyere mbata na ọpụpụ. Ezigbo ọrụ!
CNI izo ya ezo
N'ime CNI ndị a na-enyocha, e nwere ndị nwere ike zoo mgbanwe netwọk n'etiti Pods:
Antrea na-eji IPsec
Calico na-eji waya nche
Cilium na-eji IPsec
WeaveNet na-eji IPsec
Bandwit
Ebe ọ bụ na CNI dị ole na ole fọdụrụ, ka anyị tinye ọnọdụ niile n'otu eserese:
Nri akụrụngwa
Na ngalaba a, anyị ga-enyocha akụrụngwa eji eme ihe mgbe ị na-ahazi nkwukọrịta Pod-to-Pod na TCP na UDP. Enweghị uru ịse eserese Pod-to-Service ebe ọ naghị enye ozi ndị ọzọ.
Na-etinye ya niile ọnụ
Ka anyị gbalịa ikwugharị eserese niile, anyị webatara ntakịrị isiokwu ebe a, jiri okwu ndị a "vwry fast", "obere", wdg dochie ụkpụrụ ndị ahụ.
Mmechi na nkwubi okwu m
Nke a bụ ntakịrị ihe gbasara onwe ya, ebe m na-ekwupụta nkọwa nke m nke nsonaazụ ya.
Enwere m obi ụtọ na CNI ọhụrụ pụtara, Antrea rụrụ nke ọma, a na-emeju ọtụtụ ọrụ ọbụna na nsụgharị mbụ: nchọpụta MTU akpaka, izo ya ezo na ntinye dị mfe.
Ọ bụrụ na anyị atụnyere arụmọrụ, CNI niile na-arụ ọrụ nke ọma, ewezuga Kube-OVN na Kube-Router. Kube-Router enweghịkwa ike ịchọpụta MTU, ahụghị m ụzọ m ga-esi hazie ya n'ebe ọ bụla na akwụkwọ (akwụkwọ)ebe a a na-arịọ arịrịọ maka isiokwu a).
N'ihe gbasara oriri akụrụngwa, Cilium ka na-eji RAM karịa ndị ọzọ, mana onye nrụpụta na-elekwasị anya na nnukwu ụyọkọ, nke doro anya na ọ bụghị otu ule na ụyọkọ ọnụ atọ. Kube-OVN na-erikwa ọtụtụ ihe CPU na RAM, mana ọ bụ CNI na-eto eto dabere na Open vSwitch (dị ka Antrea, ọ na-arụ ọrụ nke ọma ma na-eri obere).
Onye ọ bụla ma e wezụga Flannel nwere amụma netwọkụ. O yikarịrị ka ọ gaghị akwado ha, ebe ọ bụ na ihe mgbaru ọsọ dị mfe karịa tonip steamed: ọkụ ọkụ, ka mma.
Ọzọkwa, n'etiti ihe ndị ọzọ, arụmọrụ ezoro ezo dị ịtụnanya. Calico bụ otu n'ime CNI kacha ochie, mana agbakwunyere nzuzo naanị izu ole na ole gara aga. Ha họọrọ wireguard kama IPsec, ma tinye ya, ọ na-arụ ọrụ dị ukwuu ma dị ịtụnanya, na-ekpuchi kpamkpam CNI ndị ọzọ na akụkụ a nke ule. N'ezie, ihe oriri na-eri nri na-abawanye n'ihi izo ya ezo, ma ihe a na-enweta na ya bara uru (Calico gosipụtara ọganihu isii na nyocha nzuzo ma e jiri ya tụnyere Cilium, bụ nke abụọ). Ọzọkwa, ị nwere ike ime ka waya nche n'oge ọ bụla mgbe ị bufere Calico na ụyọkọ ahụ, ị nwekwara ike gbanyụọ ya obere oge ma ọ bụ na-adịgide adịgide ma ọ bụrụ na ịchọrọ. Ọ bụ incredibly adaba, Otú ọ dị! Anyị na-echetara gị na Calico anaghị achọpụta MTU ugbu a na-akpaghị aka (a na-eme atụmatụ atụmatụ a maka nsụgharị n'ọdịnihu), yabụ jide n'aka na ị hazie MTU ma ọ bụrụ na netwọk gị na-akwado Jumbo Frames (MTU 9000).
Tinyere ihe ndị ọzọ, rịba ama na Cilium nwere ike izochi okporo ụzọ n'etiti oghere ụyọkọ (ọ bụghị naanị n'etiti Pods), nke nwere ike dị ezigbo mkpa maka oghere ụyọkọ ọha.
Dị ka nkwubi okwu, m na-atụ aro iji ihe ndị a:
Achọrọ CNI maka obere ụyọkọ ma ọ bụ enweghị m nchekwa: arụ ọrụ na Flannel, CNI kacha dị mfe ma kwụsie ike (ọ bụkwa otu n'ime ndị kasị ochie, dịka akụkọ akụkọ si kwuo, ọ bụ Homo Kubernautus ma ọ bụ Homo Contaitorus chepụtara ya.). Ị nwekwara ike ịmasị ọrụ kachasị mma Ugboro, lelee!
Achọrọ CNI maka ụyọkọ oge niile: calico - nhọrọ gị, mana echefula ịhazi MTU ma ọ bụrụ na ọ dị mkpa. Ị nwere ike iji atumatu netwọkụ gwuo ngwa ngwa na n'ụzọ nkịtị, gbanye ma gbanyụọ nzuzo, wdg.
Achọrọ CNI maka ụyọkọ (oke) nnukwu ọnụ ọgụgụ: Ọfọn, ule ahụ egosighi omume nke nnukwu ụyọkọ, m ga-enwe obi ụtọ ịme ule, ma anyị enweghị ọtụtụ narị sava nwere njikọ 10Gbps. Ya mere, nhọrọ kachasị mma bụ ịme ule gbanwetụrụ na ọnụ gị, ọbụlagodi na Calico na Cilium.