Nëse jeni si shumica e njerëzve, ju për sigurie po përdorni burime që funksionojnë jashtë klastri tuaj. Mund të jeni duke përdorur API-në Taleo për të dërguar mesazhe të shkruara ose duke analizuar imazhe me API-në Google Cloud Vision.
NĂ«se po pĂ«rdorni tĂ« njĂ«jtĂ«n pikĂ« pĂ«rfundimi â pika e pranuar e kĂ«rkesave nga ana e serverit nĂ« tĂ« gjitha mjediset tuaja dhe nuk planifikoni tĂ« transferoni serverat tuaj nĂ« Kubernetes, Ă«shtĂ« krejt normale tĂ« keni pikĂ«n e shĂ«rbimit drejtpĂ«rdrejt nĂ« kodin tuaj. MegjithatĂ«, ka shumĂ« skenarĂ« tĂ« tjerĂ« zhvillimi. NĂ« kĂ«tĂ« seri "Praktikat mĂ« tĂ« Mira tĂ« Kubernetes", do tĂ« mĂ«soni si tĂ« pĂ«rdorni mekanizmat e ndĂ«rtuar nĂ« Kubernetes pĂ«r tĂ« zbuluar shĂ«rbimet si brenda ashtu edhe jashtĂ« klastri.
Si një shembull të një shërbimi të zakonshëm të jashtëm, mund të përmendim bazën e të dhënave që punon jashtë klastri Kubernetes. Ndryshe nga bazat e të dhënave të tilla në re si Google Cloud Data Store ose Google Cloud Spanner, të cilat përdorin një pikë përfundimi për të gjitha llojet e qasjes, shumica e bazave të të dhënave kanë pika të veçanta për rrethana të ndryshme.
NjĂ« praktikĂ« e zakonshme qĂ« ndjekin bazat e tĂ« dhĂ«nave tradicionale, si MySQL dhe MongoDB, zakonisht parashtrojnĂ« qĂ« ju tĂ« lidhni komponentĂ«t e ndryshĂ«m pĂ«r mjedise tĂ« ndryshme. Mund tĂ« keni njĂ« makinĂ« tĂ« madhe pĂ«r tĂ« dhĂ«nat nĂ« prodhim dhe njĂ« makinĂ« mĂ« tĂ« vogĂ«l pĂ«r mjedisin testues. Ădo njĂ«ra do tĂ« ketĂ« adresĂ«n e saj IP ose emrin domain, por pĂ«r siguri nuk do tĂ« dĂ«shironit tĂ« ndryshoni kodin tuaj kur kaloni nga njĂ« mjedis nĂ« tjetrin. Prandaj, nĂ« vend tĂ« kodifikimit tĂ« fortĂ« tĂ« kĂ«tyre adresave, mund tĂ« pĂ«rdorni shĂ«rbimin e ndĂ«rtuar nĂ« Kubernetes pĂ«r tĂ« zbuluar shĂ«rbimet e jashtme pĂ«rmes DNS siç bĂ«ni me shĂ«rbimet natyrore tĂ« Kubernetes.

Supozoni se jeni duke drejtuar një bazë të dhënash MongoDB në Google Compute Engine. Do të ngeleni në këtë botë hibride derisa të keni mundësi ta kaloni atë në klastrin.
Për fat, mund të përdorni shërbimet statike të Kubernetes për të lehtësuar pak jetën tuaj. Në këtë shembull, kam krijuar një server MongoDB duke përdorur Google Cloud Launcher. Duke qenë se është krijuar në të njëjtën rrjet (ose VPC të klastrit Kubernetes), qasja në të bëhet përmes një adrese IP të brendshme me performancë të lartë.

Në Google Cloud, kjo është konfigurimi standard, kështu që nuk keni nevojë të konfiguroni asgjë. Tani, që ka një adresë IP, hapi i parë është të krijoni një shërbim. Mund të vëreni se për këtë shërbim nuk ka selektorë të podëve. Domethënë, ne kemi krijuar një shërbim që nuk do të dijë se ku të dërgojë trafikun. Kjo do të lejojë krijimin manual të një objekti pikë përfundimi, i cili do të marrë trafikun nga ky shërbim.

Shembulli tjetër i kodit tregon se pikët përfundimi përcaktojnë adresën IP për bazën e të dhënave, duke përdorur të njëjtin emër mongo si shërbimi.

Kubernetes do të përdorë të gjitha adresat IP për të gjetur pikët përfundimi, si në rastin e podëve të zakonshëm Kubernetes, kështu që tani mund të qaseni në bazën e të dhënave me një varg lidhjeje të thjeshtë në emrin e mësipërm mongodb://mongo. Në këtë rast, nuk ka nevojë të përdorni adresat IP në kodin tuaj.
Nëse në të ardhmen adresat IP ndryshojnë, mund ta përditësoni thjesht pikën përfundimi me adresën IP të re, dhe aplikacionet tuaja nuk do t'i shkaktojnë ndonjë ndryshim të jashtëzakonshëm.
Nëse po përdorni një bazë të dhënash që ndodhet në një host të jashtëm, probabilisht pronarët e hostit ju kanë ofruar një identifikues të unifikuar të burimit URI për t'u lidhur. Pra, nëse ju është dhënë një adresë IP, mund të përdorni thjesht metodën e mëparshme. Ky shembull tregon se kam dy baza të dhënash MongoDB, të vendosura në hostin mLab.

NjĂ«ra Ă«shtĂ« baza e tĂ« dhĂ«nave pĂ«r zhvilluesit, ndĂ«rsa tjetra Ă«shtĂ« baza e tĂ« dhĂ«nave pĂ«r prodhim. Vargjet e lidhjes pĂ«r kĂ«to baza tĂ« dhĂ«nash duken si mĂ« poshtĂ« â mLab ju ofron njĂ« URI dinamik dhe njĂ« port dinamik. Siç e shihni, ato janĂ« tĂ« ndryshme.

Për t'u bërë të padukshme nga kjo, përdorim Kubernetes dhe do lidhemi me bazën e të dhënave për zhvilluesit. Mund të krijoni një emër shërbimi të jashtëm në Kubernetes, i cili do t'ju ofrojë një shërbim statik që do të redaktojë trafikun në shërbimin e jashtëm.

Ky shërbim do të kryejë një ridrejtim të thjeshtë CNAME në nivelin e bërthamës, që do të ndikojë minimale në performancë. Kështu, mund të përdorni një varg lidhjeje më të thjeshtë.
![]()
Megjithatë, pasi emri i jashtëm përdor redirekimin CNAME, ai nuk mund të kryejë ri-ndarjen e portave. Prandaj, kjo zgjidhje është e aplikueshme vetëm për porta statike dhe nuk mund të përdoret me porta dinamike. Mbi të gjitha, mLab Free Tier ofron një numër të dinamik porti nga default, dhe nuk mund ta ndryshoni këtë. Kjo do të thotë se për dev dhe prod ju nevojiten rreshta të ndryshëm komandash për lidhje. E keqja është se do të duhet të kodoni fort numrin e portit. Si mund të bëni që ri-ndarja e portave të funksionojë?
Hapi i parë është të merrni adresën IP nga URI. Nëse executoni komandën nslookup, hostname ose pingoni URI, mund të merrni adresën IP të bazës së të dhënave. Nëse shërbimi kthen disa adresa IP, të gjitha këto adresa mund të përdoren në pikëprerjet e objektit.

Duhet të kujtojmë se adresat IP të URI mund të ndryshojnë pa paralajmërim, kështu që ato janë mjaft të rrezikshme për t'u përdorur në prodhimin. Duke përdorur një adresë IP të tillë, mund të lidhesh me një bazë të dhënash të largët pa specifikuar portin. Në këtë mënyrë, shërbimi Kubernetes realizon ri-ndarjen e portave mjaft transparente.

Mappimi, ose përputhja e burimeve të jashtme me ato të brendshme, ju jep mundësinë të përdorni fleksibël këto shërbime brenda klusterit në të ardhmen, duke minimalizuar përpjekjet për refaktorizim. Ai gjithashtu e lehtëson menaxhimin dhe i jep kuptim asaj çfarë shërbimesh të jashtme po përdor kompania juaj.
Vazhdimi do tĂ« vijĂ« shumĂ« shpejtâŠ

Pak reklamĂ« đ
Faleminderit që qëndroni me ne. Ju pëlqejnë artikujt tanë? Dëshironi të shihni më shumë materiale interesante? Na mbështetni duke bërë një porosi ose duke na rekomanduar njohurive tuaj, , një analog unik i serverëve entry-level, i ndërtuar për ju: (disponohen variante me RAID1 dhe RAID10, deri në 24 bërthama dhe deri në 40GB DDR4).
Dell R730xd dyfish mĂ« i lirĂ« nĂ« qendrĂ«n e tĂ« dhĂ«nave Equinix Tier IV nĂ« Amsterdam? VetĂ«m kĂ«tu nĂ« HolandĂ«! Dell R420 â 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB â nga $99! Lexoni rreth
Burimi: habr.com
