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.
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.
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.
Hûn dikarin hemî navan bi fermana $ kubectl get namespace bibînin.
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.
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.
Rêya duyemîn ev e ku meriv cîhê navan di danezana YAML de diyar bike.
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.
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.
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.
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.
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.
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.
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:
Bi gelemperî, hûn tenê navê karûbarê hewce ne û DNS bixweber navnîşana tevahî diyar dike.
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:
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
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.
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.
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.
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.
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,
Dell R730xd 2x erzantir li navenda daneya Equinix Tier IV li Amsterdam? Tenê li vir
Source: www.habr.com