Tlhahlobo ea ts'ebetso ea CNI bakeng sa Kubernetes holim'a marang-rang a 10G (Phato 2020)

Tlhahlobo ea ts'ebetso ea CNI bakeng sa Kubernetes holim'a marang-rang a 10G (Phato 2020)

TL; DR: Li-CNI tsohle li sebetsa kamoo li lokelang, ntle le Kube-Router le Kube-OVN, Calico, ntle le ho lemoha MTU ka mokhoa o itekanetseng, ke eona e molemo ka ho fetisisa.

Ntlafatso ea lingoliloeng tsa licheke tsa ka tsa nakong e fetileng (2018 и 2019), ka nako ea liteko ke sebelisa Kubernetes 1.19 ho Ubuntu 18.04 ka li-CNI tse ntlafalitsoeng ho tloha ka Phato 2020.

Pele re kenella ho metrics ...

Ke eng e ncha ho tloha ka Mmesa 2019?

  • O ka itlhahloba ka sehlopha sa hau: U ka etsa liteko sehlopheng sa hau u sebelisa sesebelisoa sa rona Kubernetes Network Benchmark: knb
  • Litho tse ncha li hlahile
  • Maemo a Macha: Licheke tsa hajoale li etsa liteko tsa ts'ebetso ea marang-rang ea "Pod-to-Pod", 'me ho kentsoe mongolo o mocha oa "Pod-to-Service" o tsamaisang liteko haufi le maemo a nnete a lefats'e. Ha e le hantle, Pod ea hau e nang le API e sebetsa le setsi e le tšebeletso, eseng ka aterese ea Pod ip (ehlile re hlahloba ka bobeli TCP le UDP bakeng sa maemo a mabeli).
  • Tšebeliso ea lisebelisoa: tlhahlobo e 'ngoe le e' ngoe hona joale e na le papiso ea eona ea lisebelisoa
  • Ho tlosa Liteko tsa Kopo: Ha re sa etsa liteko tsa HTTP, FTP le SCP kaha tšebelisano ea rona e behang litholoana le sechaba le bahlokomeli ba CNI e fumane lekhalo lipakeng tsa liphetho tsa iperf holim'a TCP le liphetho tsa curl ka lebaka la tieho ea ho qala CNI (metsotsoana e seng mekae ea pele ea Pod. qalo, e sa tlwaelehang maemong a nnete).
  • Mohloli o bulehileng: mehloli eohle ea liteko (lingoloa, litlhophiso tsa yml le data ea mantlha "e tala") lia fumaneha mona

Reference Test Protocol

Protocol e hlalositsoe ka botlalo monaKa kopo hlokomela hore sengoloa sena se bua ka Ubuntu 18.04 ka kernel ea kamehla.

Ho khetha CNI bakeng sa Tlhahlobo

Teko ena e reretsoe ho bapisa li-CNI tse hlophisitsoeng le file e le 'ngoe ea yaml (ka hona, tsohle tse kentsoeng ke mangolo, joalo ka VPP le tse ling, ha li kenyellelitsoe).

Li-CNI tsa rona tse khethiloeng ho bapisa:

  • Antrea v.0.9.1
  • Calico v3.16
  • Canal v3.16 (Flannel network + Calico Network Policy)
  • Cilium 1.8.2
  • Flannel 0.12.0
  • Tsa moraorao tsa Kube-router (2020–08–25)
  • WeaveNet 2.7.0

E lokisa MTU bakeng sa CNI

Pele ho tsohle, re lekola phello ea ho lemoha ha MTU ka boits'oaro ts'ebetsong ea TCP:

Tlhahlobo ea ts'ebetso ea CNI bakeng sa Kubernetes holim'a marang-rang a 10G (Phato 2020)

Tšusumetso ea MTU ho Ts'ebetso ea TCP

Lekhalo le leholoanyane le fumanoa ha u sebelisa UDP:

Tlhahlobo ea ts'ebetso ea CNI bakeng sa Kubernetes holim'a marang-rang a 10G (Phato 2020)
Tšusumetso ea MTU ho Ts'ebetso ea UDP

Ka lebaka la tšusumetso e HUGE ea ts'ebetso e senotsoeng litekong, re lakatsa ho romella lengolo la tšepo ho bahlokomeli bohle ba CNI: ka kopo, eketsa mokhoa oa ho lemoha oa MTU ho CNI. U tla boloka likatse, li-unicorn esita le tse ntlehali: Devop e nyane.

Leha ho le joalo, haeba u hloka ho sebelisa CNI ntle le tšehetso bakeng sa ho lemoha MTU ka mokhoa o itekanetseng, u ka e hlophisa ka letsoho ho fumana tshebetso. Ka kopo hlokomela hore sena se sebetsa ho Calico, Canal le WeaveNet.

Tlhahlobo ea ts'ebetso ea CNI bakeng sa Kubernetes holim'a marang-rang a 10G (Phato 2020)
Kopo ea ka e nyane ho CNIs e tsamaeang le eona...

Tlhahlobo ea CNI: Data e tala

Karolong ena, re tla bapisa CNI le MTU e nepahetseng (e khethiloeng ka ho iketsa kapa e behiloeng ka letsoho). Sepheo se seholo mona ke ho bonts'a data e tala ka li-graph.

Tšōmo ea mebala:

  • grey - sampole (i.e. tšepe e se nang letho)
  • botala - bandwidth ka holimo ho 9500 Mbps
  • mosehla - bandwidth ka holimo ho 9000 Mbps
  • lamunu - bandwidth ka holimo ho 8000 Mbps
  • khubelu - bandwidth e ka tlase ho 8000 Mbps
  • putsoa - e sa nke lehlakore (ha e amane le bandwidth)

Tšebeliso ea lisebelisoa tse se nang moroalo

Pele ho tsohle, hlahloba tšebeliso ea lisebelisoa ha sehlopha se "robetse".

Tlhahlobo ea ts'ebetso ea CNI bakeng sa Kubernetes holim'a marang-rang a 10G (Phato 2020)
Tšebeliso ea lisebelisoa tse se nang moroalo

Pod-to-Pod

Boemo bona bo nka hore Pod ea bareki e hokahana ka kotloloho le Pod ea seva e sebelisa aterese ea eona ea IP.

Tlhahlobo ea ts'ebetso ea CNI bakeng sa Kubernetes holim'a marang-rang a 10G (Phato 2020)
Pod-to-Pod Scenario

TCP

Liphetho tsa Pod-to-Pod TCP le tšebeliso e tsamaellanang ea lisebelisoa:

Tlhahlobo ea ts'ebetso ea CNI bakeng sa Kubernetes holim'a marang-rang a 10G (Phato 2020)

Tlhahlobo ea ts'ebetso ea CNI bakeng sa Kubernetes holim'a marang-rang a 10G (Phato 2020)

UDP

Liphetho tsa Pod-to-Pod UDP le tšebeliso e tsamaellanang ea lisebelisoa:

Tlhahlobo ea ts'ebetso ea CNI bakeng sa Kubernetes holim'a marang-rang a 10G (Phato 2020)

Tlhahlobo ea ts'ebetso ea CNI bakeng sa Kubernetes holim'a marang-rang a 10G (Phato 2020)

Pod-to-Service

Karolo ena e bohlokoa bakeng sa linyeoe tsa ts'ebeliso ea 'nete, Pod ea bareki e hokahana le Pod ea seva ka ts'ebeletso ea ClusterIP.

Tlhahlobo ea ts'ebetso ea CNI bakeng sa Kubernetes holim'a marang-rang a 10G (Phato 2020)
Sengoloa sa Pod-to-Service

TCP

Liphetho tsa Pod-to-Service TCP le tšebeliso e tsamaellanang ea lisebelisoa:

Tlhahlobo ea ts'ebetso ea CNI bakeng sa Kubernetes holim'a marang-rang a 10G (Phato 2020)

Tlhahlobo ea ts'ebetso ea CNI bakeng sa Kubernetes holim'a marang-rang a 10G (Phato 2020)

UDP

Liphetho tsa Pod-to-Service UDP le tšebeliso e tsamaellanang ea lisebelisoa:

Tlhahlobo ea ts'ebetso ea CNI bakeng sa Kubernetes holim'a marang-rang a 10G (Phato 2020)

Tlhahlobo ea ts'ebetso ea CNI bakeng sa Kubernetes holim'a marang-rang a 10G (Phato 2020)

Tšehetso ea leano la marang-rang

Har'a tsohle tse ka holimo, e le 'ngoe feela e sa tšehetseng lipolotiki ke Flannel. Tse ling kaofela li sebelisa maano a marang-rang ka nepo, ho kenyeletsoa ho kena le ho tsoa. Mosebetsi o motle!

CNI encryption

Har'a li-CNI tse hlahlobiloeng, ho na le tse ka encrypt phapanyetsano ea marang-rang lipakeng tsa li-Pods:

  • Antrea e sebelisa IPsec
  • Calico e sebelisa wireguard
  • Cilium e sebelisang IPsec
  • WeaveNet e sebelisa IPsec

Bandwidth

Kaha ho na le li-CNI tse fokolang tse setseng, ha re kenyeng maemo ohle setšoantšong se le seng:

Tlhahlobo ea ts'ebetso ea CNI bakeng sa Kubernetes holim'a marang-rang a 10G (Phato 2020)

Tšebeliso ea lisebelisoa

Karolong ena, re tla hlahloba lisebelisoa tse sebelisoang ha re sebetsana le puisano ea Pod-to-Pod ho TCP le UDP. Ha ho na thuso ho taka graph ea Pod-to-Service kaha ha e fane ka lintlha tse ling.

Tlhahlobo ea ts'ebetso ea CNI bakeng sa Kubernetes holim'a marang-rang a 10G (Phato 2020)

Tlhahlobo ea ts'ebetso ea CNI bakeng sa Kubernetes holim'a marang-rang a 10G (Phato 2020)

Ho kopanya kaofela

Ha re leke ho pheta lirafo tsohle, re hlahisitse taba e nyane mona, re nkela boleng ba 'nete ka mantsoe "vwry fast", "low", joalo-joalo.

Tlhahlobo ea ts'ebetso ea CNI bakeng sa Kubernetes holim'a marang-rang a 10G (Phato 2020)

Qetello le liqeto tsa ka

Sena ke taba e nyane, kaha ke fana ka tlhaloso ea ka ea liphetho.

Ke thabetse hore ebe li-CNI tse ncha li hlahile, Antrea e sebelitse hantle, mesebetsi e mengata e ile ea kenngoa ts'ebetsong esita le liphetolelong tsa pele: ho lemoha MTU ka mokhoa o itekanetseng, ho kenyelletsa le ho kenya habonolo.

Haeba re bapisa ts'ebetso, li-CNI tsohle li sebetsa hantle, ntle le Kube-OVN le Kube-Router. Kube-Router le eona ha ea khona ho bona MTU, ha kea fumana mokhoa oa ho e hlophisa kae kapa kae litokomaneng (mona kopo mabapi le sehlooho sena e butsoe).

Mabapi le tšebeliso ea lisebelisoa, Cilium e ntse e sebelisa RAM e ngata ho feta tse ling, empa moetsi o shebile ka ho hlaka lihlopha tse kholo, tseo ka ho hlaka li sa tšoaneng le teko ho sehlopha sa li-node tse tharo. Kube-OVN e boetse e ja lisebelisoa tse ngata tsa CPU le RAM, empa ke CNI e nyenyane e thehiloeng ho Open vSwitch (joaloka Antrea, e sebetsa hantle le ho ja hanyenyane).

Motho e mong le e mong ntle le Flannel o na le maano a marang-rang. Ho ka etsahala hore ebe ha ho mohla a tla ba tšehetsa, kaha sepheo se bonolo ho feta turnip e nang le mouoane: e bobebe, e molemo.

Hape, har'a lintho tse ling, ts'ebetso ea encryption ea hlolla. Calico ke e 'ngoe ea li-CNI tsa khale ka ho fetisisa, empa encryption e kentsoe libekeng tse' maloa tse fetileng. Ba khethile wireguard ho e-na le IPsec, 'me ka mantsoe a bonolo, e sebetsa hantle ebile e makatsa, e feta ka ho feletseng li-CNI tse ling karolong ena ea tlhahlobo. Ha e le hantle, tšebeliso ea lisebelisoa e eketseha ka lebaka la ho kenyelletsa, empa katleho e fihletsoeng ke ea bohlokoa (Calico e bontšitse ntlafatso e imenneng ka makhetlo a tšeletseng tekong ea ho ngolisa ha e bapisoa le Cilium, e leng boemong ba bobeli). Ho feta moo, o ka nolofalletsa wireguard ka nako efe kapa efe ka mor'a hore u tsamaise Calico sehlopheng, 'me u ka e thibela nako e khutšoanyane kapa ka ho sa feleng haeba u lakatsa. Ho bonolo haholo, leha ho le joalo! Re u hopotsa hore hajoale Calico ha e bone MTU ka bo eona (ts'ebetso ena e reretsoe liphetolelo tse tlang), kahoo etsa bonnete ba hore u lokisa MTU haeba marang-rang a hau a tšehetsa Jumbo Frames (MTU 9000).

Har'a lintho tse ling, hlokomela hore Cilium e ka koala sephethephethe pakeng tsa li-cluster nodes (eseng feela pakeng tsa li-Pods), tse ka bang bohlokoa haholo bakeng sa lihlopha tsa lihlopha tsa sechaba.

Ka kakaretso, ke khothaletsa lisebelisoa tse latelang:

  • Ke hloka CNI bakeng sa sehlopha se senyenyane haholo KAPA ha ke hloke tšireletso: sebetsa le Flannel, CNI e bobebe le e tsitsitseng ka ho fetisisa (hape ke e mong oa ba khale ka ho fetisisa, ho latela tšōmo eo a e qapiloeng ke Homo Kubernautus kapa Homo Contaitorus.). U ka boela ua thahasella morero o bohlale ka ho fetisisa li-k3s, hlahloba!
  • U hloka CNI bakeng sa sehlopha se tloaelehileng: Calico - khetho ea hau, empa u se ke oa lebala ho hlophisa MTU ha ho hlokahala. U ka bapala habonolo le ka tlhaho ka maano a marang-rang, ho bulela le ho tima encryption, joalo-joalo.
  • Hloka CNI bakeng sa (haholo) sehlopha se seholo: Ha e le hantle, tlhahlobo ha e bontše boitšoaro ba lihlopha tse kholo, nka thabela ho etsa liteko, empa ha re na li-server tse makholo tse nang le khokahanyo ea 10Gbps. Kahoo khetho e ntle ka ho fetisisa ke ho etsa tlhahlobo e fetotsoeng ho li-node tsa hau, bonyane ka Calico le Cilium.

Source: www.habr.com

Eketsa ka tlhaloso