Ja esat tÄds pats kÄ vairums cilvÄku, iespÄjams, izmantojat resursus, kas darbojas Ärpus jÅ«su kopas. IespÄjams, jÅ«s izmantojat Taleo API, lai nosÅ«tÄ«tu Ä«sziÅas vai analizÄtu attÄlus, izmantojot Google Cloud Vision API.
Ja visÄs savÄs vidÄs izmantojat vienu un to paÅ”u servera puses pieprasÄ«juma galapunktu un neplÄnojat migrÄt savus serverus uz Kubernetes, ir lieliski, ja pakalpojuma galapunkts ir tieÅ”i jÅ«su kodÄ. TaÄu ir arÄ« daudzi citi notikumu attÄ«stÄ«bas scenÄriji. Å ajÄ Kubernetes paraugprakses sÄrijÄ jÅ«s uzzinÄsit, kÄ izmantot Kubernetes iebÅ«vÄtos mehÄnismus, lai atklÄtu pakalpojumus gan klasterÄ«, gan Ärpus tÄ.
Parasta ÄrÄjÄ pakalpojuma piemÄrs ir datu bÄze, kas darbojas Ärpus Kubernetes klastera. AtŔķirÄ«bÄ no mÄkoÅu datu bÄzÄm, piemÄram, Google Cloud Data Store vai Google Cloud Spanner, kas izmanto vienu galapunktu visai piekļuvei, lielÄkajai daļai datu bÄzu ir atseviŔķi galapunkti dažÄdiem apstÄkļiem.
Paraugprakse tradicionÄlo datu bÄzu, piemÄram, MySQL un MongoDB, izmantoÅ”anai parasti nozÄ«mÄ, ka jÅ«s izveidojat savienojumu ar dažÄdiem komponentiem dažÄdÄm vidÄm. Jums var bÅ«t liela iekÄrta ražoÅ”anas datiem un mazÄka iekÄrta testa videi. Katram no tiem bÅ«s sava IP adrese vai domÄna nosaukums, taÄu jÅ«s, iespÄjams, nevÄlaties mainÄ«t savu kodu, pÄrejot no vienas vides uz citu. TÄ vietÄ, lai Ŕīs adreses bÅ«tu kodÄtas, varat izmantot Kubernetes iebÅ«vÄto DNS balstÄ«tu ÄrÄjo pakalpojumu atklÄÅ”anu tÄpat kÄ vietÄjos Kubernetes pakalpojumus.
PieÅemsim, ka izmantojat MongoDB datu bÄzi pakalpojumÄ Google Compute Engine. JÅ«s bÅ«siet iestrÄdzis Å”ajÄ hibrÄ«dajÄ pasaulÄ, lÄ«dz jums izdosies to pÄrnest uz klasteru.
Par laimi, varat izmantot statiskos Kubernetes pakalpojumus, lai nedaudz atvieglotu savu dzÄ«vi. Å ajÄ piemÄrÄ es izveidoju MongoDB serveri, izmantojot Google Cloud Launcher. TÄ kÄ tas ir izveidots tajÄ paÅ”Ä tÄ«klÄ (vai Kubernetes klastera VPC), tam var piekļūt, izmantojot augstas veiktspÄjas iekÅ”Äjo IP adresi.
Å is ir noklusÄjuma iestatÄ«jums pakalpojumÄ Google Cloud, tÄpÄc jums nekas nav jÄkonfigurÄ. Tagad, kad jums ir IP adrese, pirmais solis ir pakalpojuma izveide. IespÄjams, pamanÄ«sit, ka Å”im pakalpojumam nav podziÅu atlasÄ«tÄju. Tas ir, mÄs izveidojÄm pakalpojumu, kas nezinÄs, kur nosÅ«tÄ«t trafiku. Tas ļaus jums manuÄli izveidot galapunkta objektu, kas saÅems trafiku no Ŕī pakalpojuma.
Å is koda piemÄrs parÄda, ka galapunkti nosaka datu bÄzes IP adresi, izmantojot to paÅ”u mongo nosaukumu kÄ pakalpojumam.
Kubernetes izmantos visas IP adreses, lai atrastu galapunktus tÄ, it kÄ tie bÅ«tu parastie Kubernetes Pods, tÄpÄc tagad varat piekļūt datu bÄzei, izmantojot vienkÄrÅ”u savienojuma virkni ar iepriekÅ” minÄto nosaukumu mongodb://mongo. KodÄ vispÄr nav jÄizmanto IP adreses.
Ja IP adreses nÄkotnÄ mainÄ«sies, varat vienkÄrÅ”i atjauninÄt savus galapunktus ar jauno IP adresi, un jÅ«su lietojumprogrammas nebÅ«s jÄmaina nekÄdi papildu veidi.
Ja izmantojat datu bÄzi, kas tiek mitinÄta treÅ”Äs puses resursdatorÄ, visticamÄk, resursdatora Ä«paÅ”nieki ir nodroÅ”inÄjuÅ”i jums vienotu resursa identifikatora URI, ar kuru izveidot savienojumu. TÄtad, ja jums ir pieŔķirta IP adrese, varat vienkÄrÅ”i izmantot iepriekÅ”Äjo metodi. Å is piemÄrs parÄda, ka man ir divas MongoDB datu bÄzes, kas mitinÄtas mLab resursdatorÄ.
Viena ir izstrÄdÄtÄju datu bÄze, bet otra ir ražoÅ”anas datu bÄze. Å o datu bÄzu savienojuma virknes izskatÄs Å”Ädi ā mLab nodroÅ”ina dinamisku URI un dinamisku portu. KÄ redzat, tie ir atŔķirÄ«gi.
Lai to izÅemtu, izmantosim Kubernetes un izveidosim savienojumu ar izstrÄdÄtÄju datu bÄzi. Varat izveidot ÄrÄju Kubernetes pakalpojuma nosaukumu, kas jums nodroÅ”inÄs statisku pakalpojumu, kas pÄrsÅ«tÄ«s trafiku uz ÄrÄjo pakalpojumu.
Å is pakalpojums veiks vienkÄrÅ”u CNAME pÄrsÅ«tÄ«Å”anu kodola lÄ«menÄ« ar minimÄlu veiktspÄjas ietekmi. Pateicoties tam, varat izmantot vienkÄrÅ”Äku savienojuma virkni.
TaÄu, tÄ kÄ ÄrÄjais nosaukums izmanto CNAME pÄrsÅ«tÄ«Å”anu, tas nevar veikt porta pÄrsÅ«tÄ«Å”anu. TÄpÄc Å”is risinÄjums ir piemÄrojams tikai statiskajiem portiem, un to nevar izmantot ar dinamiskiem portiem. Bet mLab Free Tier pÄc noklusÄjuma pieŔķir lietotÄjam dinamisku porta numuru, un jÅ«s to nevarat mainÄ«t. Tas nozÄ«mÄ, ka jums ir nepiecieÅ”amas dažÄdas savienojuma komandrindas dev un prod. SliktÄ lieta ir tÄda, ka jums bÅ«s jÄievada porta numurs. TÄtad, kÄ panÄkt, lai portu pÄradresÄcija darbotos?
Pirmais solis ir iegÅ«t IP adresi no URI. Ja palaižat nslookup, resursdatora nosaukumu vai ping URI, varat iegÅ«t datu bÄzes IP adresi. Ja pakalpojums jums atgriež vairÄkas IP adreses, tad visas Ŕīs adreses var izmantot objekta galapunktos.
Viena lieta, kas jÄpatur prÄtÄ, ir tÄda, ka IP URI var mainÄ«ties bez iepriekÅ”Äja brÄ«dinÄjuma, padarot tos diezgan riskantus izmantot prod. Izmantojot Å”o IP adresi, varat izveidot savienojumu ar attÄlo datu bÄzi, nenorÄdot portu. TÄdÄjÄdi Kubernetes serviss portu pÄradresÄciju veic diezgan caurspÄ«dÄ«gi.
KartÄÅ”ana vai ÄrÄjo resursu kartÄÅ”ana ar iekÅ”Äjiem sniedz jums elastÄ«bu, lai nÄkotnÄ varÄtu izmantot Å”os pakalpojumus klasterÄ«, vienlaikus samazinot pÄrstrukturÄÅ”anas centienus. Tas arÄ« atvieglo pÄrvaldÄ«bu un sniedz ieskatu par to, kÄdus ÄrÄjos pakalpojumus izmanto jÅ«su uzÅÄmums.
TurpinÄjums jau pavisam drÄ«z...
Dažas reklÄmas š
Paldies, ka palikÄt kopÄ ar mums. Vai jums patÄ«k mÅ«su raksti? Vai vÄlaties redzÄt interesantÄku saturu? Atbalsti mÅ«s, pasÅ«tot vai iesakot draugiem,
Dell R730xd 2x lÄtÄk Equinix Tier IV datu centrÄ AmsterdamÄ? Tikai Å”eit
Avots: www.habr.com