IMigaqo emi-5 yeNgqondo yoKwakha ii-Apps ze-Cloud-Native

"Ilifu lemveli" okanye ngokulula "ilifu" izicelo zenzelwe ngokukodwa ukusebenza kwiziseko zamafu. Ngokuqhelekileyo zakhiwe njengeseti yee-microservices ezidityanisiweyo ngokukhululekileyo ezipakishwe kwizikhongozeli, ezithi zona zilawulwe liqonga lelifu. Ezo zicelo zilungiselelwa ukungaphumeleli ngokungagqibekanga, nto leyo ethetha ukuba zisebenza ngokuthembekileyo kwaye zikala naxa kukho ukusilela okukhulu kwinqanaba leziseko zophuhliso. Elinye icala lengqekembe ziiseti zezithintelo (iikhontrakthi) ezibekwa kwiqonga lelifu kwizicelo zesikhongozeli ukuze zikwazi ukuzilawula ngokuzenzekelayo.

IMigaqo emi-5 yeNgqondo yoKwakha ii-Apps ze-Cloud-Native

Ngelixa uyazi ngokupheleleyo imfuno kunye nokubaluleka kokufudukela kwizicelo ezisekwe kwilifu, imibutho emininzi ayikayazi ukuba iqale phi. Kule post, siza kujonga inani lemigaqo ethi, ukuba iyalandelwa xa kuphuhliswa izicelo ezifakwe kwikhonteyina, iya kukuvumela ukuba uqaphele ukubakho kwamaqonga elifu kwaye ufezekise ukusebenza okuthembekileyo kunye nokulinganisa kwezicelo nakwimeko yokusilela okukhulu kwisiseko se-IT. inqanaba. Injongo ephambili yemigaqo echazwe apha kukufunda indlela yokwakha izicelo ezinokulawulwa ngokuzenzekelayo ngamaqonga efu afana neKubernetes.

Imigaqo yoYilo lweSoftware

Kwilizwe lenkqubo, imigaqo ibhekisa kwimithetho eqhelekileyo ngokufanelekileyo ekufuneka ilandelwe xa kusenziwa isoftware. Zingasetyenziswa xa usebenza nalo naluphi na ulwimi lokuprograma. Umgaqo ngamnye uneenjongo zawo, izixhobo zokufezekisa ezidla ngokuba ziitemplate kunye nezenzo. Kukwakho nenani lemigaqo esisiseko yokudala isoftware ekumgangatho ophezulu, apho zonke ezinye ziphuma khona. Nantsi eminye imizekelo yemigaqo esisiseko:

  • KISS (Yigcine ilula, isidenge) - musa ukuyidibanisa;
  • YOMA (Musa ukuziphinda) - musa ukuziphinda;
  • YAGNI (Awuyi kuyidinga) - musa ukwenza into engayifuniyo ngokukhawuleza;
  • SoC Ukwahlula iinkxalabo - ukwabelana ngoxanduva.

Njengoko ubona, le migaqo ayimiseli nayiphi na imigaqo ethile, kodwa iyingxenye yezinto ezibizwa ngokuba yingcinga eqhelekileyo esekelwe kumava asebenzayo, abelana ngayo ngabaphuhlisi abaninzi kunye nabahlala bebhekisela kuyo.
Ukongeza, kukho ISOLID -Iseti yemigaqo emihlanu yokuqala yeprogram ejoliswe kwinto kunye noyilo, eyenziwe nguRobert Martin. I-SOLID ibandakanya imigaqo ebanzi, evulekileyo, ehambelanayo ethi-xa isetyenziswe kunye-incede ukudala iinkqubo zesoftware ezingcono kwaye zigcinwe ngcono kwixesha elide.

Imigaqo ye-SOLID yeyommandla we-OOP kwaye yenziwe ngolwimi lweekhonsepthi kunye neekhonsepthi ezinjengeeklasi, ujongano kunye nelifa. Ngokufanisa, imigaqo yophuhliso inokuphinda iqulunqwe kwizicelo zefu, kuphela into esisiseko apha ayiyi kuba yiklasi, kodwa isitya. Ngokulandela le migaqo, unokwenza usetyenziso oluqulathiweyo oluhlangabezana ngcono neenjongo kunye neenjongo zamaqonga elifu afana neKubernetes.

Izikhongozeli zamafu: indlela ye-Red Hat

Namhlanje, phantse nasiphi na isicelo sinokupakishwa ngokulula kwizikhongozeli. Kodwa ukuze izicelo zisebenze ngokufanelekileyo kwaye zilungelelaniswe ngaphakathi kweqonga lelifu elinjengeKubernetes, umzamo owongezelelweyo uyafuneka.
Isiseko sezimvo ezichazwe apha ngezantsi yayiyindlela yokusebenza I-App yeeFactor ezilishumi elinambini kunye neminye imisebenzi emininzi kwiinkalo ezahlukeneyo zokwakha izicelo zewebhu, ukusuka kulawulo lwekhowudi yomthombo ukuya kwiimodeli zokulinganisa. Imigaqo echaziweyo isebenza kuphela kuphuhliso lwezicelo ezifakwe kwikhonteyina ezakhelwe ngaphezulu kwee-microservices kwaye ziyilelwe amaqonga elifu anjengeKubernetes. Into esisiseko kwingxoxo yethu ngumfanekiso wesikhongozeli, kwaye ixesha lokuqhutywa kwesikhongozeli ekujoliswe kulo liqonga lee-orchestration. Injongo yemithetho-siseko ecetywayo kukudala izikhongozeli apho ukucwangcisa, ukukala, kunye nemisebenzi yokubeka iliso inokuthi izenzekele kuninzi lwamaqonga omculo. Imigaqo ayivezwanga ngendlela ethile.

Umgaqo weNkathalo eNye (SCP)

Lo mgaqo ufana ngeendlela ezininzi noMgaqo woXanduva oluNye. I-SRP), eyinxalenye ye-SOLID iseti kwaye ichaza ukuba yonke into kufuneka ibe noxanduva olunye, kwaye olo xanduva kufuneka lufakwe ngokupheleleyo eklasini. Ingongoma ye-SRP kukuba lonke uxanduva sisizathu sokutshintsha, kwaye iklasi kufuneka ibe nesizathu esinye kunye nesinye kuphela sokutshintsha.

Kwi-SCP, sisebenzisa igama elithi "inkxalabo" endaweni yegama elithi "uxanduva" ukubonisa inqanaba eliphezulu lokuthabatha kunye nenjongo ebanzi yesikhongozeli xa kuthelekiswa neklasi ye-OOP. Kwaye ukuba injongo ye-SRP kukuba nesizathu esinye kuphela sotshintsho, emva kwe-SCP ngumnqweno wokwandisa amandla okusebenzisa kwakhona kunye nokutshintsha izitya. Ngokulandela i-SRP kunye nokudala isitya esisombulula ingxaki enye kwaye siyenze ngendlela esebenzayo epheleleyo, wandisa amathuba okuphinda usebenzise loo mfanekiso wesikhongozeli kwiimeko ezahlukeneyo zesicelo.

Umgaqo we-SCP uthi isikhongozeli ngasinye kufuneka sisombulule ingxaki enye kwaye siyenze kakuhle. Ngapha koko, i-SCP kwihlabathi leekhonteyina kulula ukuyifumana kune-SRP kwihlabathi le-OOP, kuba izikhongozeli zihlala ziqhuba inkqubo enye, kwaye ixesha elininzi le nkqubo isombulula umsebenzi omnye.

Ukuba i-microservice yesikhongozeli kufuneka isombulule iingxaki ezininzi ngaxeshanye, ngoko inokwahlulwa ibe zizikhongozelo ezinomsebenzi omnye kwaye idityaniswe ngaphakathi kwepod enye (iyunithi yokusasazwa kweqonga lesikhongozeli) kusetyenziswa i-sidecar kunye ne-init container templates. Ukongeza, i-SCP yenza kube lula ukubuyisela isikhongozeli esidala (njengeseva yewebhu okanye umthengisi womyalezo) kunye nentsha esombulula ingxaki efanayo kodwa yandise ukusebenza okanye izikali ezingcono.

IMigaqo emi-5 yeNgqondo yoKwakha ii-Apps ze-Cloud-Native

Umgaqo oPhakamileyo wokuQwalasela (HOP)

Xa izikhongozeli zisetyenziswa njengendlela emanyeneyo yokupakisha kunye nokuqhuba izicelo, izicelo ngokwazo ziphathwa njengebhokisi emnyama. Nangona kunjalo, ukuba ezi zikhongozeli zefu, ke kufuneka zinike ii-API ezikhethekileyo kwixesha lokuqhuba ukubeka iliso kwimpilo yezikhongozeli kwaye, ukuba kuyimfuneko, thatha amanyathelo afanelekileyo. Ngaphandle koku, akuyi kuba nako ukudibanisa i-automation yokuhlaziya izikhongozeli kunye nokulawula umjikelo wabo wobomi, oya kuthi, emva koko, kubi nakakhulu ukuzinza kunye nokusetyenziswa kwenkqubo yesofthiwe.

IMigaqo emi-5 yeNgqondo yoKwakha ii-Apps ze-Cloud-Native
Ngokwesiqhelo, isicelo esinezikhongozeli kufuneka, ubuncinci, sibe ne-API yeendidi ezahlukeneyo zokujonga impilo: iimvavanyo zokuphila kunye novavanyo lokulungela. Ukuba isicelo sibanga ukwenza ngaphezulu, kufuneka sinikezele ngezinye iindlela zokubeka iliso kwimeko yaso. Umzekelo, ukungena kwimicimbi ebalulekileyo nge-STDERR kunye ne-STDOUT yokuhlanganiswa kwelogi usebenzisa i-Fluentd, i-Logstash kunye nezinye izixhobo ezifanayo. Kunye nokudityaniswa nokulandela umkhondo kunye namathala eencwadi okuqokelelwa kweemetrics, anje nge-OpenTracing, Prometheus, njl.

Ngokubanzi, isicelo sisenokuphathwa njengebhokisi elimnyama, kodwa kufuneka linikezwe zonke ii-API ezifunwa yiplatifomu ukwenzela ukubeka iliso nokulawula ngendlela engcono kakhulu.

UMgaqo wokuThobela uMjikelo woBomi (LCP)

I-LCP yi-antithesis ye-HOP. Ngelixa i-HOP ichaza ukuba isitya kufuneka siveze ii-API ezifundwayo kwiqonga, i-LCP idinga ukuba isicelo sikwazi ukwamkela ulwazi oluvela kwiqonga. Ngaphezu koko, isikhongozeli akufunekanga sifumane kuphela iziganeko, kodwa sikwalungelelanise, ngamanye amazwi, siphendule kuzo. Ngenxa yoko igama lomgaqo, elinokuthi lithathelwe ingqalelo njengemfuneko yokubonelela ngeqonga nge-APIs yokubhala.

IMigaqo emi-5 yeNgqondo yoKwakha ii-Apps ze-Cloud-Native
Amaqonga aneentlobo ezahlukeneyo zemisitho ukunceda ukulawula umjikelo wobomi besikhongozeli. Kodwa kuxhomekeke kwisicelo ngokwaso ukugqiba ukuba yeyiphi kuzo emayiyibone kwaye isabele njani.

Kucacile ukuba ezinye iziganeko zibaluleke ngakumbi kunezinye. Umzekelo, ukuba isicelo asikunyamezeli kakuhle ukuthotywa, kufuneka samkele isignali: phelisa (SIGTERM) imiyalezo kwaye iqalise inkqubo yokuphelisa ngokukhawuleza ukubamba uphawu: bulala (SIGKILL) oza emva kwe-SIGTERM.

Ukongezelela, iziganeko ezifana ne-PostStart kunye ne-PreStop zingabaluleka kumjikelezo wokuphila wesicelo. Ngokomzekelo, emva kokuqaliswa kwesicelo, kunokufuna ixesha lokufudumala ngaphambi kokuba iphendule izicelo. Okanye isicelo kufuneka sikhulule izixhobo ngendlela ekhethekileyo xa sivala.

Umgaqo-siseko wokuNgaguquki koMfanekiso (IIP)

Kuvunyiwe ngokubanzi ukuba izicelo ezifakwe kwizingxobo kufuneka zihlale zingatshintshwa emva kokwakhiwa, nokuba ziqhutywa kwiimeko ezahlukeneyo. Oku kufuna imfuneko yokugcinwa kwedatha yangaphandle ngexesha lokuqhuba (ngamanye amazwi, ukusebenzisa izixhobo zangaphandle kule nto) kunye nokuxhomekeka kwangaphandle, ulungelelwaniso oluthile lwexesha lokugijima, kunokuguqula okanye ukudala izitya ezizodwa kwindawo nganye. Emva kwalo naluphi na utshintsho kwisicelo, umfanekiso wesikhongozeli kufuneka wakhiwe kwakhona kwaye usasazwe kuzo zonke iindawo ezisetyenzisiweyo. Ngendlela, xa ulawula iinkqubo ze-IT, umgaqo ofanayo usetyenziswa, owaziwa ngokuba ngumgaqo wokungaguquki kwamaseva kunye neziseko.

Injongo ye-IIP kukuthintela ukuyilwa kwemifanekiso yesikhongozeli esahlukileyo kwiimeko ezahlukeneyo zexesha lokusebenza kunye nokusebenzisa umfanekiso ofanayo kuyo yonke indawo kunye noqwalaselo oluchanekileyo lwemekobume ethile. Ukulandela lo mgaqo kukuvumela ukuba ufezekise ezo zenzo ezibalulekileyo ukusuka kwindawo yokujonga i-automation yeenkqubo zefu njenge-roll-back and roll-forward of applications updates.

IMigaqo emi-5 yeNgqondo yoKwakha ii-Apps ze-Cloud-Native

Inkqubo yokuLahlwa koMgaqo (PDP)

Olunye lweempawu ezibaluleke kakhulu zesikhongozeli kukungaguquguquki kwayo: umzekelo wesikhongozeli kulula ukuyileka kwaye kulula ukuyitshabalalisa, ngoko inokutshintshwa ngokulula ngomnye umzekelo nangaliphi na ixesha. Kukho izizathu ezininzi zokutshintshwa okunjalo: ukungaphumeleli kovavanyo lwenkonzo, ukukala kwesicelo, ukudluliselwa komnye umkhosi, ukudinwa kwezixhobo zeqonga, okanye ezinye iimeko.

IMigaqo emi-5 yeNgqondo yoKwakha ii-Apps ze-Cloud-Native
Ngenxa yoko, izicelo ezifakwe kwikhonteyina kufuneka zigcine imeko yazo zisebenzisa iindlela zangaphandle, okanye zisebenzise izikimu ezisasazwe ngaphakathi ngaphandle kokungafuneki koku. Ukongeza, isicelo kufuneka siqale ngokukhawuleza kwaye sivale ngokukhawuleza, kwaye silungele ukusilela kwe-hardware ngokukhawuleza.

Olunye uqheliselo olunceda ukuphumeza lo mgaqo kukugcina izikhongozeli zincinci. Iimeko ezingqongileyo zamafu zinokukhetha ngokuzenzekelayo umamkeli ukuba aqalise umzekelo wesikhongozeli, ngoko ke isikhongozeli sincinci, ngokukhawuleza siyakuqala - siyakukhuphela kumamkeli ekujoliswe kuwo ngaphezulu kwenethiwekhi ngokukhawuleza.

Umgaqo-siseko wokuZigcina (S-CP)

Ngokwalo mgaqo, kwinqanaba lendibano, zonke izinto eziyimfuneko zifakwe kwisitya. Isikhongozeli kufuneka sakhiwe kwingqikelelo yokuba inkqubo ine Linux kernel esulungekileyo kuphela, ngoko ke onke amathala eencwadi ayimfuneko kufuneka abekwe kwisingxobo ngokwaso. Kufuneka kwakhona iqulathe izinto ezifana nexesha lokuqhuba kulwimi lwenkqubo oluhambelanayo, iqonga lesicelo (ukuba kukho imfuneko), kunye nolunye uxhomekeko oluya kufunwa ngelixa isicelo sesikhongozeli sisebenza.

IMigaqo emi-5 yeNgqondo yoKwakha ii-Apps ze-Cloud-Native

Ulwahlulo lwenzelwa ulungelelwaniso olwahlukayo ukusuka kokusingqongileyo ukuya kokusingqongileyo kwaye kufuneka lubonelelwe ngexesha lokusebenza, umzekelo ngeKubernetes ConfigMap.

Isicelo sinokubandakanya amacandelo amaninzi anezikhongozeli, umzekelo, isikhongozeli esahlukileyo se-DBMS ngaphakathi kwesicelo sewebhu esinezikhongozeli. Ngokomgaqo we-S-CP, ezi zikhongozeli akufanele zidityaniswe zibe yinto enye, kodwa kufuneka zenziwe ukwenzela ukuba i-container ye-DBMS iqulethe yonke into efunekayo ekusebenzeni kwedatha, kwaye isitya sesicelo sewebhu siqulethe yonke into efunekayo ekusebenzeni kwewebhu. isicelo, umncedisi wewebhu ofanayo. Ngenxa yoko, ngexesha lokuqhuba isikhongozeli sesicelo sewebhu siya kuxhomekeka kwisitya seDBMS kwaye sifikelele kuso njengoko kufuneka.

Umgaqo-siseko woValelo lweXesha lokuSebenza (RCP)

Umgaqo we-S-CP uchaza ukuba isikhongozeli kufuneka sakhiwe njani kwaye yintoni ibhinari yomfanekiso ekufuneka iqulathe. Kodwa isikhongozeli ayisiyo "ibhokisi emnyama" nje enophawu olunye - ubungakanani befayile. Ngexesha lokubulawa, isitya sithatha eminye imilinganiselo: ubungakanani bememori esetyenzisiweyo, ixesha le-CPU, kunye nezinye izixhobo zenkqubo.

IMigaqo emi-5 yeNgqondo yoKwakha ii-Apps ze-Cloud-Native
Kwaye apha umgaqo we-RCP ufika ngokufanelekileyo, ngokubhekiselele kuyo i-container kufuneka inqumle iimfuno zayo kwimithombo yenkqubo kwaye idlulisele kwiqonga. Ngeeprofayili zesixhobo ngasinye (ingakanani i-CPU, imemori, inethiwekhi, kunye nezixhobo zedisk eziyifunayo), iqonga linokwenza ngokufanelekileyo ukucwangcisa kunye nokulinganisa okuzenzekelayo, ukulawula umthamo we-IT, kunye nokugcina amanqanaba e-SLA kwizikhongozeli.

Ukongeza kokuhlangabezana neemfuno zezibonelelo zesikhongozeli, kukwabalulekile ukuba isicelo singagqibi ngaphaya kwemida yaso. Ngaphandle koko, xa ukunqongophala kwemithombo kwenzeka, iqonga linokuthi lifake kuluhlu lwezicelo ezifuna ukupheliswa okanye ukufuduswa.

Xa sithetha ngokuba ngamafu kuqala, sithetha ngendlela esisebenza ngayo.
Ngaphezulu, siqulunqe inani lemigaqo ngokubanzi ebeka isiseko semethodological sokwakha izicelo zesikhongozelo ezikumgangatho ophezulu zommandla wamafu.

Qaphela ukuba ukongeza kule migaqo ngokubanzi, uya kufuna iindlela ezongezelelweyo kunye nobuchule bokusebenza ngezikhongozeli. Ukongeza, sineengcebiso ezimbalwa ezicacileyo ngakumbi kwaye kufuneka zisetyenziswe (okanye zingasetyenziswa) ngokuxhomekeke kwimeko:

I-Webinar kwinguqulelo entsha ye-OpenShift Container Platform-4
NgoJuni 11 ngo-11.00

Yintoni oya kufunda ngayo:

  • UShishino lwe-Red Hat olungaguqukiyo lweLinux CoreOS
  • I-OpenShift yenkonzo yomnatha
  • Isakhelo somsebenzisi
  • Isakhelo seKnative

umthombo: www.habr.com

Yongeza izimvo