Ingabe isizindalwazi sihlala e-Kubernetes?

Ingabe isizindalwazi sihlala e-Kubernetes?

Ngandlela-thile, ngokomlando, imboni ye-IT ihlukaniswe ngamakamu amabili anemibandela nganoma yisiphi isizathu: labo "abamele" nalabo "abamelene". Ngaphezu kwalokho, isihloko sezingxabano singaba ngokunganaki ngokuphelele. Iyiphi i-OS engcono: Win noma i-Linux? Ku-smartphone ye-Android noma ye-iOS? Ingabe kufanele ugcine yonke into emafwini noma uyibeke endaweni yokugcina ebandayo ye-RAID futhi ubeke izikulufu endaweni ephephile? Ingabe abantu be-PHP banelungelo lokubizwa ngabahleli bezinhlelo? Lezi zingxabano, ngezinye izikhathi, zikhona kuphela ngokwemvelo futhi azinasisekelo ngaphandle kwentshisekelo yezemidlalo.

Kwenzeka nje ukuthi ngokufika kweziqukathi nakho konke lokhu kudla okuthandekayo nge-docker kanye nama-k8 anemibandela, izingxabano "ze" kanye "nokumelana" nokusetshenziswa kwamakhono amasha ezindaweni ezihlukahlukene ze-backend zaqala. (Ake sibhuke kusenesikhathi ukuthi nakuba u-Kubernetes evame ukukhonjiswa njengomculi we-okhestra kule ngxoxo, ukukhetha kwaleli thuluzi akubalulekile kakhulu. Kunalokho, ungashintsha noma yiliphi elinye elibonakala lifaneleka kakhulu futhi ulijwayele. .)

Futhi, kubonakala sengathi lokhu kungaba ingxabano elula phakathi kwezinhlangothi ezimbili zohlamvu lwemali olufanayo. Njengoba engenangqondo futhi engenasihawu njengokungqubuzana kwaphakade phakathi kukaWin vs Linux, lapho abantu abenele bekhona ndawana thize phakathi. Kodwa endabeni ye-containerization, akuyona yonke into elula kakhulu. Imvamisa ezingxabanweni ezinjalo alukho uhlangothi olulungile, kepha uma kwenzeka iziqukathi "zokusebenzisa" noma "ungasebenzisi" ukugcina imininingwane yolwazi, yonke into iphenduka ibheke phansi. Ngoba ngomqondo othile, bobabili abasekeli nabaphikisi bale ndlela balungile.

Ngakolunye uhlangothi

Ingxabano ye-Light Side ingachazwa kafushane emshweni owodwa: "Sawubona, u-2k19 ungaphandle kwefasitela!" Kuzwakala sengathi i-populism, yebo, kodwa uma uhlolisisa isimo ngokuningiliziwe, kunezinzuzo zayo. Asizilungise manje.

Ake sithi unephrojekthi enkulu yewebhu. Kungenzeka ukuthi yakhiwe ekuqaleni ngesisekelo sendlela ye-microservice, noma ngesikhathi esithile yafika kuyo ngendlela yokuziphendukela kwemvelo - lokhu akubalulekile kakhulu, empeleni. Uhlakaze iphrojekthi yethu kuma-microservices ahlukene, wamisa i-orchestration, ukulinganisa ukulayisha, nokukala. Futhi manje, ngonembeza ohlanzekile, uphuza i-mojito ku-hammock ngesikhathi semiphumela ye-habra esikhundleni sokukhulisa amaseva awile. Kodwa kuzo zonke izenzo kumele ungaguquguquki. Kaningi, uhlelo lokusebenza kuphela ngokwalo-ikhodi-efakwe iziqukathi. Yini enye esinayo ngaphandle kwekhodi?

Kunjalo, idatha. Inhliziyo yanoma iyiphi iphrojekthi idatha yayo: lokhu kungaba i-DBMS evamile - i-MySQL, i-Postgre, i-MongoDB, noma isitoreji esisetshenziselwa ukusesha (ElasticSearch), isitoreji senani elingukhiye sokugcinwa kwesikhashana - isibonelo, i-redis, njll. Okwamanje asikho sizokhuluma ngezinketho zokusebenzisa i-backend eyisigwegwe lapho isizindalwazi siphahlazeka ngenxa yemibuzo ebhalwe kabi, futhi esikhundleni salokho sizokhuluma ngokuqinisekisa ukubekezelelwa kwamaphutha kwalesi sizindalwazi ngaphansi komthwalo weklayenti. Phela, lapho sifaka isicelo sethu futhi sisivumela ukuba silinganise ngokukhululekile ukucubungula noma iyiphi inombolo yezicelo ezingenayo, lokhu ngokwemvelo kwandisa umthwalo kusizindalwazi.

Eqinisweni, isiteshi sokufinyelela kusizindalwazi kanye nesiphakeli esisebenza kuso siba yiso yenaliti kungemuva lethu elihle elineziqukathi. Ngesikhathi esifanayo, isisusa esiyinhloko se-virtualization yeziqukathi ukuhamba nokuguquguquka kwesakhiwo, okusivumela ukuthi sihlele ukusatshalaliswa kwemithwalo ephezulu kuyo yonke ingqalasizinda etholakala kithi ngokuphumelelayo ngangokunokwenzeka. Okusho ukuthi, uma singaqukathi futhi sikhiphe zonke izici ezikhona zesistimu kulo lonke iqoqo, senza iphutha elibi kakhulu.

Kunengqondo kakhulu ukuhlanganisa hhayi kuphela uhlelo lokusebenza ngokwalo, kodwa futhi nezinsizakalo ezinesibopho sokugcina idatha. Ngokuhlanganisa nokukhipha amaseva ewebhu asebenza ngokuzimela futhi asabalalisa umthwalo phakathi kwawo ngama-k8, sesivele siyixazulula inkinga yokuvumelanisa idatha - amazwana afanayo kokuthunyelwe, uma sithatha imidiya ethile noma inkundla yebhulogi njengesibonelo. Kunoma ikuphi, sine-intra-cluster, ngisho ne-virtual, emele isizindalwazi njenge-ExternalService. Umbuzo uwukuthi isizindalwazi ngokwaso asikakaqoqiwe - amaseva ewebhu asetshenziswe ku-cube athatha ulwazi mayelana nezinguquko kusizindalwazi sethu sokulwa esimile, esizungeza ngokuhlukana.

Uyayizwa into yokubamba? Sisebenzisa ama-k8s noma ama-Swarm ukusabalalisa umthwalo futhi sigweme ukuphahlazeka kuseva yewebhu eyinhloko, kodwa asikwenzeli lokhu kusizindalwazi. Kodwa uma isizindalwazi siphahlazeka, khona-ke yonke ingqalasizinda yethu ehlanganisiwe ayinangqondo - yini enhle amakhasi ewebhu angenalutho abuyisela iphutha lokufinyelela kusizindalwazi?

Kungakho kudingekile ukuhlanganisa amaseva wewebhu kuphela, njengoba kuvame ukwenziwa, kodwa nengqalasizinda yedatha. Kungale ndlela kuphela lapho singakwazi ukuqinisekisa isakhiwo esisebenza ngokugcwele eqenjini elilodwa, kodwa ngesikhathi esifanayo sizimele kusuka komunye nomunye. Ngaphezu kwalokho, ngisho noma ingxenye ye-backend yethu "iwa" ngaphansi komthwalo, okusele kuzosinda, futhi uhlelo lokuvumelanisa imininingwane yolwazi phakathi kweqoqo kanye nekhono lokukala ngokungapheli nokukhipha amaqoqo amasha kuzosiza ngokushesha ukufinyelela umthamo odingekayo - ukube bekunama-rack esikhungweni sedatha .

Ngaphezu kwalokho, imodeli yesizindalwazi esatshalaliswa ngamaqoqo ikuvumela ukuthi uthathe yona kanye le database lapho idingeka khona; Uma sikhuluma ngesevisi yomhlaba wonke, akunangqondo ngempela ukuphenya iqoqo lewebhu endaweni ethile endaweni yaseSan Francisco futhi ngesikhathi esifanayo uthumele amaphakethe lapho ufinyelela kusizindalwazi esifundeni saseMoscow nangemuva.

Futhi, ukufakwa kwe-database kukuvumela ukuthi wakhe zonke izakhi zesistimu ezingeni elifanayo lokukhipha. Okwenza kube nokwenzeka ukuphatha lolu hlelo ngqo kusuka kukhodi, ngabathuthukisi, ngaphandle kokuzibandakanya okusebenzayo kwabalawuli. Abathuthukisi bacabange ukuthi i-DBMS ehlukile iyadingeka kuphrojekthi entsha - kulula! wabhala ifayela le-yaml, walilayisha kuqoqo futhi usuqedile.

Futhi-ke, ukusebenza kwangaphakathi kwenziwa lula kakhulu. Ngitshele, uvale amehlo kangaki lapho ilungu elisha leqembu lifaka izandla zalo kusizindalwazi sokulwa ukuze lisebenze? Iyiphi, eqinisweni, okuwukuphela kwayo onayo futhi ejikelezayo njengamanje? Vele, sonke singabantu abadala lapha, futhi endaweni ethile sinekhophi yasenqolobaneni entsha, futhi kude nakakhulu - ngemuva kweshalofu elinokhukhamba kagogo kanye nama-skis amadala - esinye isipele, mhlawumbe ngisho nendawo yokugcina ebandayo, ngoba ihhovisi lakho lase livutha kakade kanye. Kodwa noma kunjalo, zonke izingeniso zelungu leqembu elisha elikwazi ukufinyelela ingqalasizinda yokulwa futhi, vele, ku-database yokulwa kuyibhakede le-validol lawo wonke umuntu oseduze. Hhayi-ke, ubani omaziyo, osanda kuzalwa, mhlawumbe unesandla esiphambene? Kuyesabeka, uzovuma.

Ukufakwa kweziqukathi futhi, empeleni, isimo sendawo esisabalalisiwe sesizindalwazi sephrojekthi yakho kusiza ukugwema izikhathi zokuqinisekisa ezinjalo. Awumethembi osanda kuzalwa? KULUNGILE! Ake simnikeze elakhe iqoqo azosebenza ngalo futhi sinqamule isizindalwazi kwamanye amaqoqo - ukuvumelanisa kuphela ngokuphusha okwenziwa ngesandla nokuzungezisa okhiye ababili (owokuhola iqembu, omunye ongowokuphatha). Futhi wonke umuntu ujabule.

Futhi manje sekuyisikhathi sokushintsha sibe abaphikisi bokuqoqwa kwedatha.

Isayidi elimnyama

Siphikisana ngokuthi kungani kungafaneleki ukufaka i-database egciniwe futhi siqhubeke nokuyisebenzisa kuseva eyodwa emaphakathi, ngeke singene ekukhulumeni kwama-orthodoxies kanye nezitatimende ezinjengokuthi "obabamkhulu babesebenzisa imininingwane yehadiwe, nathi sizokwenza kanjalo!" Esikhundleni salokho, ake sizame ukuqhamuka nesimo lapho ukufakwa kwamakhonteyina kuzokhokha izabelo ezibambekayo.

Vumelana, amaphrojekthi adinga ngempela isisekelo esitsheni angabalwa ngeminwe yesandla esisodwa hhayi umqhubi womshini wokugaya ongcono kakhulu. Ngokwengxenye enkulu, ngisho nokusetshenziswa kwe-k8s noma i-Docker Swarm ngokwayo ayisasebenzi - imvamisa la mathuluzi asetshenziswa ngenxa yobuchwepheshe obujwayelekile kanye nezimo zengqondo β€œzosomandla” kumuntu wobulili ukusunduza yonke into ku amafu nezitsha. Hhayi-ke, ngoba manje sekuyimfashini futhi wonke umuntu uyakwenza.

Okungenani uhhafu wamacala, ukusebenzisa i-Kubernetis noma i-Docker nje kuphrojekthi ayisasebenzi. Inkinga ukuthi akuwona wonke amaqembu noma izinkampani ezisebenzela ngaphandle eziqashelwe ukugcina ingqalasizinda yekhasimende ezikwaziyo lokhu. Kubi kakhulu uma iziqukathi zifakwa, ngoba kubiza inani elithile lezinhlamvu zemali kumthengi.

Ngokuvamile, kunombono wokuthi i-docker/cube mafia icindezela ngobuwula amakhasimende akhipha lezi zinkinga zengqalasizinda. Phela, ukuze sisebenze ngamaqoqo, sidinga onjiniyela abakwazi lokhu futhi ngokuvamile baqonde ukwakheka kwesixazululo esisetshenzisiwe. Sake saluchaza udaba lwethu ngokushicilelwa kweRiphabhulikhi - lapho saqeqesha ithimba lekhasimende ukuthi lisebenze kumaqiniso e-Kubernetis, futhi wonke umuntu waneliseka. Futhi kwakuhloniphekile. Imvamisa, β€œabaqalisi” be-k8 bathatha ingqalasizinda yekhasimende - ngoba manje baqonda kuphela ukuthi yonke into isebenza kanjani lapho; abekho ochwepheshe ngasohlangothini lweklayenti.

Manje ake ucabange ukuthi ngale ndlela asikhiphi ingxenye yeseva yewebhu kuphela, kodwa futhi nokugcinwa kwedathabheyisi. Sathi iBD yinhliziyo, futhi ukulahlekelwa yinhliziyo kuyabulala kunoma iyiphi into ephilayo. Ngamafuphi, amathemba awawona amahle kakhulu. Ngakho-ke, esikhundleni se-hype Kubernetis, amaphrojekthi amaningi akufanele nje azihluphe nge-tariff evamile ye-AWS, ezoxazulula zonke izinkinga ngomthwalo esizeni/iphrojekthi yawo. Kodwa i-AWS ayiseyona imfashini, futhi imibukiso ibaluleke ngaphezu kwemali - ngeshwa, nasendaweni ye-IT.

KULUNGILE. Mhlawumbe iphrojekthi idinga ngempela ukuhlanganisa, kodwa uma yonke into icacile ngezinhlelo zokusebenza ezingenasici, singakuhlela kanjani ukuxhumana kwenethiwekhi okuhloniphekile kusizindalwazi esihlanganisiwe?

Uma sikhuluma ngesisombululo sobunjiniyela esingenamthungo, okuyikhona ukushintshela kuma-k8s, khona-ke ikhanda lethu eliyinhloko ukuphindaphinda kwedatha kusizindalwazi esihlanganisiwe. Amanye ama-DBMS ekuqaleni athembeke kakhulu ekusabalaliseni idatha phakathi kwezimo zawo ngazinye. Abanye abaningi abamukeleki kangako. Futhi imvamisa ingxabano enkulu ekukhetheni i-DBMS yephrojekthi yethu akulona ikhono lokuphindaphinda ngezindleko ezincane zensiza kanye nobunjiniyela. Ikakhulukazi uma iphrojekthi ayizange ihlelwe ekuqaleni njenge-microservice, kodwa ivele yavela kulokhu.

Sicabanga ukuthi asikho isidingo sokukhuluma ngesivinini samadrayivu enethiwekhi - ayanensa. Labo. Asikabi nalo ithuba langempela, uma kwenzeka okuthile, ukuqala kabusha isenzakalo se-DBMS endaweni ethile lapho kukhona okwengeziwe, isibonelo, amandla okucubungula noma i-RAM yamahhala. Sizongena ngokushesha ekusebenzeni kwesistimu engaphansi yediski ebonakalayo. Ngokunjalo, i-DBMS kufanele ibethelwe kusethi yayo yomuntu siqu yemishini etholakala eduze. Noma kuyadingeka ukuthi ngandlela thize ukupholisa ngokuhlukile ukuvumelanisa kwedatha okushesha ngokwanele kokubekiwe okucatshangelwayo.

Ukuqhubeka nesihloko sezinhlelo zamafayela abonakalayo: I-Docker Volumes, ngeshwa, ayinazo izinkinga. Ngokuvamile, odabeni olufana nokugcinwa kwedatha okuthembekile kwesikhathi eside, ngingathanda ukwenza izikimu ezilula kakhulu ngokobuchwepheshe. Futhi ukwengeza ungqimba olusha olukhiphayo kusuka ku-FS yesiqukathi kuya ku-FS yomphathi ongumzali kuyingozi ngokwayo. Kodwa lapho ukusebenza kohlelo lokusekelwa kweziqukathi nakho kuhlangabezana nobunzima ekudluliseni idatha phakathi kwalezi zendlalelo, khona-ke kuyinhlekelele ngempela. Okwamanje, izinkinga eziningi ezaziwa esintwini esithuthukayo zibonakala seziqediwe. Kodwa uyaqonda, lapho umshini uyinkimbinkimbi, kulula ukuphuka.

Ngenxa yazo zonke lezi β€œzigigaba,” kunenzuzo enkulu kakhulu futhi kulula ukugcina isizindalwazi sisendaweni eyodwa, futhi noma udinga ukufaka isicelo, vumela ukuthi sisebenze ngokwaso futhi ngesango lokusabalalisa thola ukuxhumana ngesikhathi esisodwa database, ezofundwa futhi ibhalwe kanye kuphela nasendaweni eyodwa. Le ndlela inciphisa amathuba okuba namaphutha kanye nokususwa kokuvumelanisa kube kuncane.

Yini esiholela kuyo? Ngaphezu kwalokho, ukufakwa kwe-database kuyadingeka lapho kunesidingo sangempela sakho. Awukwazi ukufaka idatha egciniwe yohlelo lokusebenza olugcwele bese uyiphotha njengokungathi unama-microservices ayishumi nambili - ayisebenzi ngaleyo ndlela. Futhi lokhu kufanele kuqondwe ngokucacile.

Esikhundleni sokukhipha

Uma ulinde isiphetho esicacile "sokwenza i-database ebonakalayo noma cha," sizokudumaza: ngeke kube lapha. Ngoba lapho udala noma yisiphi isisombululo sengqalasizinda, umuntu akumelwe aqondiswe ngemfashini nenqubekelaphambili, kodwa, okokuqala, ngomqondo ovamile.

Kukhona amaphrojekthi lapho izimiso namathuluzi afika ne-Kubernetis afanelana ngokuphelele, futhi kumaphrojekthi anjalo kukhona ukuthula okungenani endaweni engemuva. Futhi kukhona amaphrojekthi angadingi ukufakwa kweziqukathi, kodwa ingqalasizinda yeseva evamile, ngoba ngokuyisisekelo awakwazi ukubuyela kumodeli yeqoqo le-microservice, ngoba azowa.

Source: www.habr.com

Engeza amazwana