Kubernetes labākā prakse. Ārējo pakalpojumu kartÄ“Å”ana

Kubernetes labākā prakse. Mazo konteineru veidoŔana
Kubernetes labākā prakse. Kubernetes organizācija ar nosaukumvietu
Kubernetes labākā prakse. Kubernetes dzīvīguma apstiprināŔana, izmantojot gatavības un dzīvīguma testus
Kubernetes labākā prakse. Resursu pieprasījumu un ierobežojumu iestatīŔana
Kubernetes labākā prakse. Pareiza izslēgÅ”ana Pārtraukt

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.

Kubernetes labākā prakse. Ārējo pakalpojumu kartÄ“Å”ana

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.

Kubernetes labākā prakse. Ārējo pakalpojumu kartÄ“Å”ana

Å 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.

Kubernetes labākā prakse. Ārējo pakalpojumu kartÄ“Å”ana

Å is koda piemērs parāda, ka galapunkti nosaka datu bāzes IP adresi, izmantojot to paÅ”u mongo nosaukumu kā pakalpojumam.

Kubernetes labākā prakse. Ārējo pakalpojumu kartÄ“Å”ana

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ā.

Kubernetes labākā prakse. Ārējo pakalpojumu kartÄ“Å”ana

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.

Kubernetes labākā prakse. Ārējo pakalpojumu kartÄ“Å”ana

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.

Kubernetes labākā prakse. Ārējo pakalpojumu kartÄ“Å”ana

Å 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.

Kubernetes labākā prakse. Ārējo pakalpojumu kartÄ“Å”ana

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.

Kubernetes labākā prakse. Ārējo pakalpojumu kartÄ“Å”ana

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.

Kubernetes labākā prakse. Ārējo pakalpojumu kartÄ“Å”ana

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, mākoņa VPS izstrādātājiem no 4.99 USD, unikāls sākuma līmeņa serveru analogs, ko mēs jums izgudrojām: Visa patiesība par VPS (KVM) E5-2697 v3 (6 kodoli) 10GB DDR4 480GB SSD 1Gbps no 19$ vai kā koplietot serveri? (pieejams ar RAID1 un RAID10, līdz 24 kodoliem un līdz 40 GB DDR4).

Dell R730xd 2x lētāk Equinix Tier IV datu centrā Amsterdamā? Tikai Å”eit 2x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV no 199$ NÄ«derlandē! Dell R420 ā€” 2x E5-2430 2.2 GHz 6C 128 GB DDR3 2x960 GB SSD 1 Gbps 100 TB ā€” no 99 USD! LasÄ«t par Kā izveidot infrastruktÅ«ras uzņēmumu klase ar Dell R730xd E5-2650 v4 serveru izmantoÅ”anu 9000 eiro par santÄ«mu?

Avots: www.habr.com

Pievieno komentāru