Pratîkên çêtirîn ên Kubernetes. Rêxistina Kubernetes bi navan

Pratîkên çêtirîn ên Kubernetes. Afirandina konteynerên piçûk

Gava ku hûn dest bi afirandina bêtir û bêtir karûbarên Kubernetes dikin, karên ku di destpêkê de hêsan in dest pê dikin tevlihevtir dibin. Mînakî, tîmên pêşkeftinê nekarin di bin heman navî de karûbar an bicîhkirinê biafirînin. Ger we bi hezaran potan hebin, bi tenê navnîşkirina wan dê gelek dem bigire, bila bi rêkûpêk wan birêve bibe. Û ev tenê serê berfê ye.

Ka em binihêrin ka cîhê navan çawa birêvebirina çavkaniyên Kubernetes hêsantir dike. Ji ber vê yekê navekî çi ye? Cihê navan dikare di nav koma weya Kubernetes de wekî komek virtual were fikirîn. Hûn dikarin di nav komek Kubernetes-ê de gelek navan ji hev veqetînin. Ew bi rastî dikarin ji we û tîmên we re bi rêxistin, ewlehî, û tewra performansa pergalê re bibin alîkar.

Pratîkên çêtirîn ên Kubernetes. Rêxistina Kubernetes bi navan

Li ser piraniya belavkirinên Kubernetes, komik bi navekî bi navê "default" ji qutîkê derdikeve. Bi rastî sê cîhên navan hene ku Kubernetes bi wan re mijûl dibe: default, kube-pergal, û kube-public. Heya nuha, Kube-public pir caran nayê bikar anîn.

Pratîkên çêtirîn ên Kubernetes. Rêxistina Kubernetes bi navan

Bi tenê hiştina cîhê navên kube ramanek baş e, nemaze li ser pergalek birêvebirî mîna Google Kubernetes Engine. Ew cîhê navê "default" wekî cîhê ku karûbar û serîlêdanên we lê têne çêkirin bikar tîne. Bi tevahî tiştek taybetî tune, ji bilî ku Kubernetes ji qutiyê ve hatî mîheng kirin ku wê bikar bîne, û hûn nekarin wê jê bikin. Ev ji bo destpêkirinê û pergalên performansa kêm pir xweş e, lê ez ê pêşniyar nakim ku cîhê navê xwerû li ser pergalên prod ên mezin bikar bînin. Di rewşa paşîn de, tîmek pêşkeftinê dikare bi hêsanî koda kesek din ji nû ve binivîsîne û bêyî ku haya wî jê hebe xebata tîmek din bişkîne.

Ji ber vê yekê, divê hûn gelek navan biafirînin û wan bikar bînin da ku karûbarên xwe li yekîneyên rêvebirinê dabeş bikin. Navek navekî bi yek fermanê dikare were afirandin. Heke hûn dixwazin navekî bi navê ceribandinê biafirînin, wê hingê emrê bi kar bînin $ kubectl testa navekî biafirîne an jî tenê pelek YAML biafirîne û wê wekî çavkaniyek din a Kubernetes bikar bîne.

Pratîkên çêtirîn ên Kubernetes. Rêxistina Kubernetes bi navan

Hûn dikarin hemî navan bi fermana $ kubectl get namespace bibînin.

Pratîkên çêtirîn ên Kubernetes. Rêxistina Kubernetes bi navan

Piştî ku ew qediya, hûn ê sê navên çêkirî û navek nû ya bi navê "test" bibînin. Ka em li pelek YAML-ya hêsan binihêrin ku podek çêbikin. Hûn dikarin bala xwe bidin ku behsa cîhê navan tune.

Pratîkên çêtirîn ên Kubernetes. Rêxistina Kubernetes bi navan

Heke hûn kubectl bikar bînin ku vê pelê bimeşînin, ew ê modula mypod-ê di nav cîhê navên heyî de biafirîne. Heta ku hûn wê biguherînin ev ê cîhê navê xwerû be. 2 rê hene ku hûn ji Kubernetes re bêjin ka hûn dixwazin çavkaniya xwe tê de kîjan navan biafirînin. Awayê yekem ew e ku dema afirandina çavkaniyek ala navekî bikar bînin.

Pratîkên çêtirîn ên Kubernetes. Rêxistina Kubernetes bi navan

Rêya duyemîn ev e ku meriv cîhê navan di danezana YAML de diyar bike.

Pratîkên çêtirîn ên Kubernetes. Rêxistina Kubernetes bi navan

Ger hûn di YAML de cîhek navekî diyar bikin, çavkanî dê her gav di wê navan de were afirandin. Ger hûn hewl bidin ku dema ku ala navan bikar tînin navekî din bikar bînin, dê ferman têk here. Naha ger hûn hewl bidin ku podê xwe bibînin, hûn ê nikaribin wiya bikin.

Pratîkên çêtirîn ên Kubernetes. Rêxistina Kubernetes bi navan

Ev diqewime ji ber ku hemî ferman li derveyî cîhê navên heyî yên çalak têne darve kirin. Ji bo ku hûn podê xwe bibînin, hûn hewce ne ku ala navekî bikar bînin, lê ev zû aciz dibe, nemaze heke hûn pêşdebirek tîmê bin ku cîhê navên xwe bikar tîne û naxwaze wê alê ji bo her fermanê bikar bîne. Ka em bibînin ka em çawa dikarin vê yekê rast bikin.

Pratîkên çêtirîn ên Kubernetes. Rêxistina Kubernetes bi navan

Li derveyî qutikê, cîhê navên weya çalak jê re default tê gotin. Heke hûn di çavkaniyê YAML de cîhek navekî diyar nekin, wê hingê hemî emrên Kubernetes dê vê cîhê navekî xwerû yê çalak bikar bînin. Mixabin, hewldana birêvebirina cîhê navekî çalak bi karanîna kubectl dikare têk here. Lêbelê, amûrek pir baş a bi navê Kubens heye ku vê pêvajoyê pir hêsantir dike. Dema ku hûn fermana kubens dimeşînin, hûn hemî navên navên ku cîhê navên çalak ronî kirine dibînin.

Pratîkên çêtirîn ên Kubernetes. Rêxistina Kubernetes bi navan

Ji bo guheztina cîha navan a çalak li cîhê navên ceribandinê, hûn tenê fermana ceribandinê ya $kubens dimeşînin. Ger hûn dûv re fermana $kubens dîsa bişopînin, hûn ê bibînin ku cîhek navekî nû ya çalak niha hatiye veqetandin - test.

Pratîkên çêtirîn ên Kubernetes. Rêxistina Kubernetes bi navan

Ev tê vê wateyê ku hûn ne hewce ne ku ala cîhê navan ji bo dîtina podê di nav qada ceribandinê de.

Pratîkên çêtirîn ên Kubernetes. Rêxistina Kubernetes bi navan

Bi vî awayî navan ji hev vedişêrin, lê ji hev nayên veqetandin. Xizmetek di nav cîhek navekî de bi hêsanî dikare bi karûbarek li cîhek navek din re têkilî daynin, ku pir caran pir bikêr e. Qabiliyeta danûstendina di nav cîhên navên cihêreng de tê vê wateyê ku karûbarê pêşdebirên we dikare bi karûbarê tîmek devkî ya din re di nav cîhek cûda de ragihîne.

Bi gelemperî, gava ku serîlêdana we bixwaze bigihîje karûbarek Kubernetes, hûn karûbarê vedîtina DNS-ya çêkirî bikar tînin û tenê navê karûbarê serîlêdana xwe didin. Lêbelê, bi kirina vê yekê, hûn dikarin karûbarek di bin heman navî de di nav deverên pirjimar de biafirînin, ku ev nayê pejirandin.

Pratîkên çêtirîn ên Kubernetes. Rêxistina Kubernetes bi navan

Xwezî, ev bi karanîna forma berfireh a navnîşana DNS-ê hêsan e ku meriv li dora xwe bigire. Karûbarên li Kubernetes bi karanîna şablonek DNS-ya hevpar xalên dawiya xwe eşkere dikin. Ew tiştek mîna vê xuya dike:

Pratîkên çêtirîn ên Kubernetes. Rêxistina Kubernetes bi navan

Bi gelemperî, hûn tenê navê karûbarê hewce ne û DNS bixweber navnîşana tevahî diyar dike.

Pratîkên çêtirîn ên Kubernetes. Rêxistina Kubernetes bi navan

Lêbelê, heke hûn hewce ne ku hûn bigihîjin karûbarek di nav cîhek cûda de, tenê navê karûbarê plus navê cîhê navan bikar bînin:

Pratîkên çêtirîn ên Kubernetes. Rêxistina Kubernetes bi navan

Mînakî, heke hûn dixwazin di nav cîhek ceribandinê de bi databasek karûbar ve girêbidin, hûn dikarin databasa navnîşana navnîşan bikar bînin.test

Pratîkên çêtirîn ên Kubernetes. Rêxistina Kubernetes bi navan

Heke hûn dixwazin bi databasa karûbarê di nav qada navên prod-ê de têkildar bibin, hûn database.prod bikar tînin.

Pratîkên çêtirîn ên Kubernetes. Rêxistina Kubernetes bi navan

Ger hûn bi rastî dixwazin gihîştina cîhê navan veqetînin û sînordar bikin, Kubernetes dihêle hûn vê yekê bi karanîna Polîtîkayên Tora Kubernetes bikin. Ez ê di beşa pêş de behsa vê bikim.

Pir caran pirs ji min tê kirin, divê ez çend navan biafirînim û ji bo çi armancê? Daneyên birêvebirî çi ye?

Ger hûn navên pir zêde biafirînin, ew ê tenê rê li ber we bigirin. Ger ji wan pir hindik bin, hûn ê hemî feydeyên çareseriyek wusa winda bikin. Ez difikirim ku çar qonaxên sereke hene ku her pargîdanî dema ku avahiya xwe ya rêxistinî diafirîne tê de derbas dibe. Bi qonaxa pêşkeftinê ve girêdayî ye ku proje an pargîdaniya we tê de ye, dibe ku hûn bixwazin stratejiyek navekî guncan bipejirînin.

Bifikirin ku hûn beşek ji tîmek piçûk in ku li ser pêşvebirina 5-10 mîkroxizmetan dixebitin û hûn dikarin bi hêsanî hemî pêşdebiran li yek jûreyek kom bikin. Di vê rewşê de, maqûl e ku meriv hemî karûbarên prod-ê di nav cîhê navên xwerû de bimeşîne. Bê guman, ji bo nermbûnek bêtir, hûn dikarin 2 navan bikar bînin - ji bo prod û dev ji hev cuda. Û bi îhtîmaleke mezin, hûn pêşveçûna xwe li ser komputera xweya herêmî bi karanîna tiştek mîna Minikube ceribandin.

Ka em bibêjin tişt diguherin û we naha tîmek ku bi lez mezin dibe heye ku di carekê de li ser zêdetirî 10 mîkroxizmetkaran dixebite. Demek tê ku pêdivî ye ku meriv çend koman an cîhên navan, cuda ji bo prod û dev bikar bîne. Hûn dikarin tîmê li çend jêr-tîman bişkînin da ku her yek ji wan mîkroxizmetên xwe hebin û her yek ji van tîm dikarin cîhê navên xwe hilbijêrin da ku pêvajoya birêvebirina pêşkeftin û berdana nermalavê hêsantir bike.

Pratîkên çêtirîn ên Kubernetes. Rêxistina Kubernetes bi navan

Her ku her endamê tîmê têgihîştina pergalê bi tevahî çawa dixebite, hevrêzkirina her guhertinê bi hemî pêşdebirên din re her ku diçe dijwartir dibe. Hewldana zivirîna stûnek tam li ser makîneya xweya herêmî her roj dijwartir dibe.

Di pargîdaniyên mezin de, pêşdebiran bi gelemperî nizanin kî bi rastî li ser çi dixebite. Tîm bi karanîna peymanên karûbarê danûstandinê dikin an teknolojiya tevna karûbarê bikar tînin, ku qatek abstraksiyonê li ser torê zêde dike, wek amûra veavakirina Istio. Hewldana ji bo meşandina tevahiyek stackek herêmî bi hêsanî ne gengaz e. Ez pir pêşniyar dikim ku platformek radestkirina domdar (CD) wekî Spinnaker li ser Kubernetes bikar bînin. Ji ber vê yekê, xalek tê ku her ferman bê guman hewceyê cîhê navê xwe ye. Her tîm dikare ji bo hawîrdora dev û hawîrdora prod jî gelek navan hilbijêrin.

Di dawiyê de, pargîdaniyên mezin ên karsaziyê hene ku tê de komek pêşdebiran jî hebûna komên din nizanin. Pargîdanek wusa dibe ku bi gelemperî pêşdebirên partiya sêyemîn ên ku bi navgîniya API-yên baş-belgekirî pê re têkilî daynin, bikire. Her grûpek weha çend tîm û çend mîkroxizmet hene. Di vê rewşê de, hûn hewce ne ku hemî amûrên ku min berê qala wan kir bikar bînin.

Pratîkên çêtirîn ên Kubernetes. Rêxistina Kubernetes bi navan

Pêdivî ye ku bernamenûs bi destan karûbaran bi cîh nekin û negihîjin cîhên navan ên ku wan eleqedar nakin. Di vê qonaxê de, tê pêşniyar kirin ku çend koman hebin da ku "radyoya teqînê" ya sepanên nebaş mîhengkirî kêm bikin, ji bo hêsankirina pêvajoyên fatûreyê û rêveberiya çavkaniyê.

Bi vî rengî, karanîna rast a cîhên navan ji hêla rêxistina we ve dihêle hûn Kubernetes bêtir rêvebirin, kontrolkirin, ewledar û maqûltir bikin.

Pratîkên çêtirîn ên Kubernetes. Bi Testên Amadekarî û Zindîtiya Kubernetes Liveness verastkirin

Hin reklam 🙂

Spas ji bo ku hûn bi me re bimînin. Ma hûn ji gotarên me hez dikin? Ma hûn dixwazin naveroka balkêştir bibînin? Piştgiriya me bikin bi danîna fermanek an pêşniyarkirina hevalan, ewr VPS ji bo pêşdebiran ji 4.99 $, analogek bêhempa ya pêşkêşkerên asta têketinê, ku ji hêla me ve ji bo we hatî vedîtin: Tevahiya rastiyê di derbarê VPS (KVM) E5-2697 v3 (6 Cores) 10 GB DDR4 480 GB SSD 1Gbps ji 19 $ an çawa serverek parve dike? (bi RAID1 û RAID10, heta 24 core û heya 40 GB DDR4 peyda dibe).

Dell R730xd 2x erzantir li navenda daneya Equinix Tier IV li Amsterdam? Tenê li vir 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV ji 199$ li Hollanda! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - ji $99! Li ser bixwînin Meriv çawa pargîdaniya binesaziyê ava dike. pola bi karanîna serverên Dell R730xd E5-2650 v4 bi nirxek 9000 euro ji bo quruşek?

Source: www.habr.com

Add a comment