Sêwirana komên Kubernetes: Divê çend hebin?

Not. werger.: ev materyal ji projeyek perwerdehiyê ye Learnk8s dema sêwirana binesaziya Kubernetes-ê de bersiva pirsek populer e. Em hêvî dikin ku ravekirinên bi hûrgulî yên erênî û neyînîyên her vebijarkê dê ji we re bibe alîkar ku hûn ji bo projeya xwe bijartina çêtirîn bikin.

Sêwirana komên Kubernetes: Divê çend hebin?

TL; DR: Heman koma barkêşan dikare li ser çend komikên mezin werin xebitandin (her komek dê hejmareke mezin a barkêşan hebe) an jî li ser gelek piçûkan (di her komê de hejmareke hindik barkêşan heye).

Li jêr tabloyek heye ku erênî û neyînîyên her nêzîkatiyê dinirxîne:

Sêwirana komên Kubernetes: Divê çend hebin?

Dema ku Kubernetes wekî platformek ji bo xebitandina serîlêdanan bikar tînin, gelek pirsên bingehîn bi gelemperî di derbarê tevliheviyên sazkirina koman de derdikevin:

  • Divê ez çend koman bikar bînim?
  • Divê ez wan çiqas mezin bikim?
  • Divê her komek çi tê de hebe?

Di vê gotarê de, ez ê hewl bidim ku bersivên van hemî pirsan bi analîzkirina erênî û neyînîyên her nêzîkatiyê bidim.

Daxuyaniya pirsê

Wekî pêşdebirek nermalavê, dibe ku hûn di heman demê de gelek serîlêdanan pêşve bibin û bixebitin.

Wekî din, gelek mînakên van sepanan dibe ku di hawîrdorên cûda de werin xebitandin - mînakî, dibe ku ev bin dev, îmtîhan и çêkerî.

Di encamê de matrixek tevahî sepan û hawîrdoran e:

Sêwirana komên Kubernetes: Divê çend hebin?
Serlêdan û Jîngeh

Mînaka li jor 3 serîlêdan û 3 hawîrdoran temsîl dike, ku di encamê de bi tevahî 9 vebijarkên mimkun pêk tê.

Her mînakek serîlêdanê yekîneyek bicîhkirinê ya xweser e ku dikare bi kesên din re serbixwe were xebitandin.

not bikin ku mînaka serîlêdanê dibe ku ji gelekan pêk were beşan, wekî pêşek, paşnav, databas, hwd. Di doza serîlêdana mîkroxizmetê de, mînak dê hemî karûbaran vehewîne.

Wekî encamek, bikarhênerên Kubernetes çend pirs hene:

  • Ma divê hemî nimûneyên serîlêdanê di yek komê de bêne danîn?
  • Ma hêja ye ku ji bo her mînakek serîlêdanê komek cûda hebe?
  • An jî dibe ku tevliheviyek ji nêzîkatiyên jorîn were bikar anîn?

Hemî van vebijarkan pir bikêr in, ji ber ku Kubernetes pergalek maqûl e ku kapasîteyên bikarhêner sînordar nake.

Li vir çend awayên gengaz hene:

  • komek mezin a hevpar;
  • gelek komên piçûk ên pir pispor;
  • her serîlêdanê yek kom;
  • ji her hawîrdorê yek kom.

Wekî ku li jêr tê xuyang kirin, her du nêzîkatiyên pêşîn li berevajiyê pîvana vebijarkan in:

Sêwirana komên Kubernetes: Divê çend hebin?
Ji çend komikên mezin (çep) bigire heya gelek piçûk (rast)

Bi gelemperî, yek komik ji ya din "mezintir" tête hesibandin heke ku hejmareke wê ya girêk û pelan mezintir be. Mînakî, komikek bi 10 girêk û 100 paldank, ji komek bi 1 girêk û 10 kulman mezintir e.

Baş e, em dest pê bikin!

1. Komek hevpar a mezin

Vebijarka yekem ev e ku hemî barkêşan di yek komê de bi cîh bikin:

Sêwirana komên Kubernetes: Divê çend hebin?
Komek mezin

Di vê nêzîkbûnê de, komik wekî gerdûnî tête bikar anîn platforma binesaziyê - hûn tenê her tiştê ku hûn hewce ne di komek Kubernetes a heyî de bicîh dikin.

Navên navan Kubernetes dihêle ku beşên komê bi mentiqî ji hev werin veqetandin, da ku her mînakek serîlêdanê dikare cîhê navê xwe hebe.

Werin em li başî û xirabiyên vê nêzîkbûnê binêrin.

+ Bikaranîna bikêrhatî ya çavkaniyan

Bi komikek yekane, hûn tenê kopiyek ji hemî çavkaniyên ku ji bo xebitandin û birêvebirina koma Kubernetes hewce ne hewce ne.

Mînakî, ev ji bo nodên master rast e. Bi gelemperî, her komek Kubernetes 3 girêkên sereke hene, ji ber vê yekê ji bo yek komê hejmara wan dê wusa bimîne (ji bo berhevdanê, 10 koman dê hewceyê 30 girêkên sereke bin).

Zelaliya jorîn di heman demê de ji bo karûbarên din ên ku li seranserê komê dixebitin jî derbas dibe, wek hevsengên barkirinê, kontrolkerên Ingress, verastkirin, têketin û pergalên çavdêriyê.

Di komikek yekane de, van hemî karûbar dikarin bi yekcarî ji bo hemî barkêşan bêne bikar anîn (ne hewce ye ku kopiyên wan biafirînin, wekî ku di gelek koman de ye).

+ Erzan

Wekî encamek jorîn, kêm kom bi gelemperî erzantir in ji ber ku lêçûnên zêde tune.

Ev bi taybetî ji bo nodên masterê rast e, yên ku dikarin miqdarek drav biha bidin bêyî ku ew çawa têne mêvandar kirin (li hundur an di ewr de).

Hin karûbarên Kubernetes rêvebirin, wekî Google Kubernetes Engine (GKE) an Xizmeta Azure Kubernetes (AKS), qatê kontrolê belaş peyda bikin. Di vê rewşê de, pirsgirêka lêçûnê kêmtir e.

Di heman demê de karûbarên rêvebirinî hene ku ji bo xebata her komek Kubernetes xercek sabît distînin (mînak, Karûbarê Kubernetes Elastic Amazon, EKS).

+ Rêveberiya bi bandor

Birêvebirina yek komê ji birêvebirina çendan hêsantir e.

Dibe ku rêveberî karên jêrîn pêk bîne:

  • Nûvekirina guhertoya Kubernetes;
  • sazkirina boriyek CI/CD;
  • sazkirina pêveka CNI;
  • sazkirina pergalek pejirandina bikarhêner;
  • sazkirina kontrolkerek gihîştinê;

û gelekên din…

Di doza yek komê de, hûn neçar in ku van hemîyan tenê carekê bikin.

Ji bo gelek koman, pêdivî ye ku operasyon gelek caran bêne dubare kirin, ku dibe ku hewce bike ku hin otomatîkkirina pêvajo û amûran hewce bike da ku di pêvajoyê de hevgirtî û hevgirtî peyda bike.

Û niha çend peyvan li ser kêmasiyan.

− Yek xala têkçûnê

Di doza redkirina yekane komxebat dê tavilê dest ji xebatê berde hemî bargiraniyên xebatê!

Gelek rê hene ku tişt dikarin xelet biçin:

  • nûvekirina Kubernetes dibe sedema bandorên aliyî yên nediyar;
  • Parçeyek komê-berfireh (mînak, pêvekek CNI) dest pê dike ku wekî ku tê hêvî kirin nexebite;
  • yek ji hêmanên komê rast nehatiye mîheng kirin;
  • têkçûna binesaziya bingehîn.

Bûyerek weha dikare zirarek ciddî bide hemî barkêşên ku di komikek hevpar de têne mêvandar kirin.

- Bê îzolasyonek hişk

Di komikek hevpar de xebitîn tê vê wateyê ku serîlêdan hardware, kapasîteyên torê, û pergala xebitandinê li ser girêkên komê parve dikin.

Di wateyek de, du konteyneran bi du serîlêdanên cihêreng ên ku li ser heman girêk têne xebitandin, mîna du pêvajoyên ku li ser heman makîneyê ku heman kernel OS-ê dimeşînin têne xebitandin.

Konser Linux Ew cureyek îzolasyonê peyda dikin, lê ew bi qasî ya ku ji hêla, bo nimûne, makîneyên virtual ve tê peyda kirin ne bihêz e. Di bingeh de, pêvajoyek di konteynerekê de heman pêvajoya ku li ser pergala xebitandinê ya mêvandar dixebite ye.

Ev dikare bibe pirsgirêkek ewlehiyê: ev rêkeftin bi teorîkî rê dide serîlêdanên negirêdayî ku bi hevûdu re têkilî daynin (bi qestî an bi xeletî).

Wekî din, hemî barkêşên kar ên di komikek Kubernetes de hin karûbarên grûbê-berfireh ên wekî DNS - ev dihêle ku serîlêdan Karûbarên serîlêdanên din ên di komê de bibînin.

Hemî xalên jorîn li gorî daxwazên ewlehiyê yên serîlêdanê dikarin wateyên cûda hebin.

Kubernetes amûrên cihêreng peyda dike da ku pêşî li pirsgirêkên ewlehiyê bigire Polîtîkayên PodSecurity и NetworkPolicies. Lêbelê, sazkirina wan bi rêkûpêk hin ezmûn hewce dike; ji bilî vê, ew nekarin bi tevahî hemî qulên ewlehiyê bigirin.

Girîng e ku her gav ji bîr mekin ku Kubernetes bi eslê xwe ji bo hatî çêkirin parvekirin, ne ji bo tecrîd û ewlekarî.

− Kêmbûna pir-kirêdarkirina hişk

Ji ber pirbûna çavkaniyên hevpar ên di komek Kubernetes de, gelek away hene ku sepanên cihêreng dikarin li ser tiliyên hevûdu gav bavêjin.

Mînakî, dibe ku serîlêdanek çavkaniyek hevpar (wek CPU an bîranîn) monopol bike û sepanên din ên ku li ser heman girêkê dixebitin gihandina wê red bike.

Kubernetes ji bo kontrolkirina vê tevgerê mekanîzmayên cihêreng peyda dike, wek mînak daxwazên çavkaniyê û sînorên (li gotarê jî binêre " Di Kubernetes de tixûbên CPU û lêdana êrîşkar " - nêzîkî. werger.), ResourceQuotas и LimitRanges. Lêbelê, wekî di rewşa ewlehiyê de, veavakirina wan pir ne-tewre ye û ew nekarin bi tevahî hemî bandorên alîgir ên nediyar pêşî lê bigirin.

- Hejmarek mezin a bikarhêneran

Di doza yek komê de, pêdivî ye ku hûn gihîştina wê ji gelek kesan re vekin. Û her ku jimara wan mezintir be, xetera ku ew ê tiştek "bişkînin" mezintir dibe.

Di nav komê de hûn dikarin kontrol bikin ka kî dikare çi bikar bîne Kontrola gihîştina-based rol (RBAC) (binihêre gotar" Bikarhêner û Destûrdana RBAC li Kubernetes " - nêzîkî. werger.). Lêbelê, ew ê nehêle ku bikarhêner di nav sînorên qada berpirsiyariya xwe de tiştek "şikandin".

− Komel nikarin bêdawî mezin bibin

Koma ku ji bo hemî barkêşan tê bikar anîn dê belkî pir mezin be (di warê hejmara nod û potan de).

Lê li vir pirsgirêkek din derdikeve: komikên li Kubernetes nikarin bêdawî mezin bibin.

Li ser mezinahiya komê sînorek teorîkî heye. Di Kubernetes de ew bi qasî ye 5000 nod, 150 hezar pez û 300 hezar konteynir.

Lêbelê, di jiyana rast de, pirsgirêk dikarin pir zûtir dest pê bikin - mînakî, tenê bi 500 girêk.

Rastî ev e ku komikên mezin barek mezin li qata kontrolê ya Kubernetes digirin. Bi gotinek din, rahiştina komê bi bandor û bikêrhatî pêdivî bi ahengek baldar heye.

Ev mijar di gotarek têkildar de li ser bloga orîjînal a bi navê "Mîmarkirina komên Kubernetes - Hilbijartina mezinahiya girêka karker".

Lê werin em nêzîkatiya berevajî bifikirin: gelek komên piçûk.

2. Gelek piçûk, komên pispor

Bi vê nêzîkbûnê re, hûn ji bo her elementek ku hûn bicîh dikin komek cûda bikar tînin:

Sêwirana komên Kubernetes: Divê çend hebin?
Gelek komên piçûk

Ji bo armancên vê gotarê, li jêr hêmana veqetandî mînakek serîlêdanê vedibêje - mînakî, guhertoyek dev a serîlêdanek cihêreng.

Ev stratejî Kubernetes wekî pisporek bikar tîne runtime ji bo nimûneyên serîlêdana kesane.

Werin em li başî û xirabiyên vê nêzîkbûnê binêrin.

+ "Radyûsa teqînê" tixûbdar

Dema ku komek têk diçe, encamên neyînî tenê bi wan barkêşên xebatê yên ku di wê komê de hatine bicîh kirin têne sînordar kirin. Hemî bargiraniyên din ên bêkêmasî dimînin.

+ Insulasyon

Karên ku di komikên kesane de têne mêvandar kirin çavkaniyên wekî pêvajo, bîranîn, pergala xebitandinê, torê, an karûbarên din parve nakin.

Encam di navbera serîlêdanên negirêdayî de îzolasyonek hişk e, ku dikare ji bo ewlehiya wan sûdmend be.

+ Hejmarek piçûk a bikarhêneran

Ji ber ku her komik tenê komek tixûbdar a barkêşan vedihewîne, hejmara bikarhênerên ku gihîştina wê kêm dibe.

Çiqas hindik kes bigihîjin komê, xetera ku tiştek dê "şikest" kêm bibe.

Werin em li neyînîyan binêrin.

− Bikaranîna bêserûber a çavkaniyan

Wekî ku berê hate behs kirin, her komek Kubernetes komek taybetî ya çavkaniyên rêveberiyê hewce dike: girêkên sereke, hêmanên qata kontrolê, çareseriyên şopandin û têketinê.

Di rewşa hejmareke mezin a komên piçûk de, pêdivî ye ku beşek mezin a çavkaniyan ji rêveberiyê re were veqetandin.

- Biha ye

Bikaranîna bêkêmasî ya çavkaniyan bixweber lêçûnek mezin vedigire.

Mînakî, domandina 30 girêkên masterê li şûna sê bi heman hêza hesabkirinê dê hewce bike ku bandorê li lêçûn bike.

- Zehmetiyên di rêveberiyê de

Birêvebirina gelek komên Kubernetes ji birêvebirina yek tenê pir dijwartir e.

Mînakî, hûn neçar in ku ji bo her komê verastkirin û destûrnameyê mîheng bikin. Guhertoya Kubernetes jî dê çend caran were nûve kirin.

Hûn ê îhtîmalek hewce bike ku otomasyonê bikar bînin da ku van hemî karan bikêrtir bikin.

Naha em li senaryoyên kêmtir tund binêrin.

3. Ji her serîlêdanê yek kom

Di vê nêzîkbûnê de, hûn ji bo hemî mînakên serîlêdanek taybetî komek cûda diafirînin:

Sêwirana komên Kubernetes: Divê çend hebin?
Cluster per sepanê

Ev rê dikare wekî gelemperîkirina prensîbê were hesibandin.cluster cuda per tîma", ji ber ku bi gelemperî tîmek endezyaran yek an çend serîlêdan pêşdixe.

Werin em li başî û xirabiyên vê nêzîkbûnê binêrin.

+ Kom dikare li ser serîlêdanê were guheztin

Ger serîlêdanek hewceyên taybetî hebin, ew dikarin di komekê de bêyî ku bandorê li komên din bikin werin bicîh kirin.

Pêdiviyên weha dibe ku xebatkarên GPU, hin pêvekên CNI, tevnek karûbarê, an karûbarek din jî hebin.

Her komik dikare li gorî serîlêdana ku tê de tê xebitandin were sêwirandin da ku ew tenê tiştê ku hewce dike dihewîne.

- Jîngehên cihêreng di yek komê de

Nebaşiya vê nêzîkbûnê ev e ku mînakên serîlêdanê yên ji hawîrdorên cihêreng di heman komê de bi hev re dijîn.

Mînakî, guhertoya prod a serîlêdanê di heman komê de wekî guhertoya dev dimeşe. Ev jî tê vê wateyê ku pêşdebiran di heman koma ku tê de guhertoya hilberîna serîlêdanê tê xebitandin de dixebitin.

Ger, ji ber kiryarên pêşdebiran an xeletiyên di guhertoya dev de, têkçûnek di komê de çêbibe, wê hingê dibe ku guhertoya prod jî bi potansiyelî zirarê bibîne - kêmasiyek mezin a vê nêzîkbûnê.

Û di dawiyê de, senaryoya paşîn di navnîşa me de.

4. Ji her hawîrdorê yek kom

Ev senaryo ji bo her hawîrdorê veqetandina komek cûda vedihewîne:

Sêwirana komên Kubernetes: Divê çend hebin?
Ji her hawîrdorê yek kom

Mînakî, dibe ku hûn koman hebin dev, îmtîhan и çêkerî, ku tê de hûn ê hemî mînakên serîlêdanê yên ku ji hawîrdorek taybetî re hatine veqetandin bimeşînin.

Li vir başî û neyînîyên vê nêzîkbûnê hene.

+ Tecrîdkirina jîngeha prod

Di nava vê nêzîkatiyê de hemû derdor ji hev tên îzolekirin. Lêbelê, di pratîkê de ev bi taybetî di hawîrdorek prod de girîng e.

Guhertoyên hilberînê yên serîlêdanê naha ji tiştên ku di kom û hawîrdorên din de diqewimin serbixwe ne.

Bi vî rengî, heke di koma dev de ji nişka ve pirsgirêkek derkeve, guhertoyên prod ên serîlêdanan dê wekî ku tiştek nebûbe xebata xwe bidomînin.

+ Kom dikare li hawîrdorê were sererast kirin

Her kom dikare li gorî hawîrdora xwe were sererast kirin. Ji bo nimûne, hûn dikarin:

  • Amûrên ji bo pêşkeftin û xeletkirinê di koma dev de saz bikin;
  • çarçove û amûrên testê di komê de saz bikin îmtîhan;
  • di komê de kanalên hişk û torê yên bihêztir bikar bînin çêkerî.

Ev rê dide we ku hûn hem karbidestiya pêşkeftina serîlêdanê û hem jî xebitandinê zêde bikin.

+ Sînordarkirina gihîştina komê hilberînê

Pêdivî ye ku meriv rasterast bi komek prodkê re bixebite kêm kêm çêdibe, ji ber vê yekê hûn dikarin xeleka mirovên ku gihîştina wê bi girîngî sînordar bikin.

Hûn dikarin hê wêdetir biçin û gihandina mirovan bi tevahî ji vê komê re nehêlin, û hemî bicîhkirinan bi karanîna amûrek CI/CD-ya otomatîkî pêk bînin. Nêzîkatiyek wusa dê xetera xeletiyên mirovî tam li cîhê ku ew pir têkildar e kêm bike.

Û niha çend peyvan li ser kêmasiyan.

− Di navbera sepanan de îzolasyon tune

Kêmasiya sereke ya nêzîkbûnê nebûna veqetandina hardware û çavkaniyê di navbera serlêdanan de ye.

Serlêdanên negirêdayî çavkaniyên komê parve dikin: bingeha pergalê, pêvajoyek, bîranîn û hin karûbarên din.

Wekî ku hate gotin, ev dibe ku xeternak be.

− Nekarîna herêmîkirina girêdanên serîlêdanê

Ger serîlêdanek hewceyên taybetî hene, wê hingê divê ew li hemî koman têr bibin.

Mînakî, heke serîlêdanek GPU hewce bike, wê hingê divê her komik bi kêmî ve xebatkarek bi GPU hebe (tevî ku ew tenê ji hêla wê serîlêdanê ve were bikar anîn).

Wekî encamek, em xetera lêçûnên zêde û karanîna bêserûber a çavkaniyan dikin.

encamê

Ger komek serîlêdana we ya taybetî hebe, ew dikarin di çend komikên mezin an gelek piçûk de werin danîn.

Gotar li ser erênî û nerênî yên nêzîkatiyên cihêreng, ji ​​yek komek gerdûnî bigire heya çend piçûk û pir pispor nîqaş dike:

  • komek mezin a giştî;
  • gelek komên piçûk ên pir pispor;
  • her serîlêdanê yek kom;
  • ji her hawîrdorê yek kom.

Ji ber vê yekê divê hûn kîjan nêzîkbûnê bigirin?

Mîna her gav, bersiv bi doza karanîna ve girêdayî ye: hûn hewce ne ku pro û nerên nêzîkatiyên cihêreng giran bikin û vebijarka herî çêtirîn hilbijêrin.

Lêbelê, bijartî bi mînakên li jor re sînorkirî ne - hûn dikarin her yek ji wan tevlihev bikar bînin!

Mînakî, hûn dikarin ji bo her tîmek du koman organîze bikin: komek pêşkeftinê (ku tê de dê hawîrdor hebin dev и îmtîhan) û ji bo komkirinê çêkerî (ku hawîrdora hilberînê dê lê be).

Li ser bingeha agahdariya di vê gotarê de, hûn dikarin ji bo senaryoyek taybetî li gorî berjewendî û neyînîyan xweşbîn bikin. Bextxweş bî!

PS

Li ser bloga me jî bixwînin:

Source: www.habr.com

Ji bo malperên bi parastina DDoS, serverên VPS VDS mêvandariya pêbawer bikirin 🔥 Hostinga malperê ya pêbawer bi parastina DDoS, serverên VPS VDS bikirin | ProHoster