Praktikat më të mira të Kubernetes. Hartimi i shërbimeve të jashtme

Praktikat më të mira të Kubernetes. Krijimi i kontejnerëve të vegjël
Praktikat më të mira të Kubernetes. Organizimi i Kubernetes me hapësira emërtimi
Praktikat më të mira të Kubernetes. Kontrollimi i jetësisë së Kubernetes me teste Readiness dhe Liveness
Praktikat më të mira të Kubernetes. Konfigurimi i kërkesave dhe kufijve të burimeve
Praktikat më të mira Kubernetes. Shkëputja e saktë Terminate

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.

Praktikat më të mira të Kubernetes. Hartimi i shërbimeve të jashtme

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

Praktikat më të mira të Kubernetes. Hartimi i shërbimeve të jashtme

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.

Praktikat më të mira të Kubernetes. Hartimi i shërbimeve të jashtme

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.

Praktikat më të mira të Kubernetes. Hartimi i shërbimeve të jashtme

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.

Praktikat më të mira të Kubernetes. Hartimi i shërbimeve të jashtme

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.

Praktikat më të mira të Kubernetes. Hartimi i shërbimeve të jashtme

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.

Praktikat më të mira të Kubernetes. Hartimi i shërbimeve të jashtme

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

Praktikat më të mira të Kubernetes. Hartimi i shërbimeve të jashtme

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.

Praktikat më të mira të Kubernetes. Hartimi i shërbimeve të jashtme

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.

Praktikat më të mira të Kubernetes. Hartimi i shërbimeve të jashtme

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


Luaj videon

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, VPS cloud për zhvillues nga $4.99, një analog unik i serverëve entry-level, i ndërtuar për ju: E gjithë e vërteta rreth VPS (KVM) E5-2697 v3 (6 Nuclea) 10GB DDR4 480GB SSD 1Gbps nga $19 ose si ta ndajmë saktësisht serverin? (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 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TB nga $199 nĂ« HolandĂ«! Dell R420 — 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB — nga $99! Lexoni rreth Si tĂ« ndĂ«rtosh njĂ« infrastrukturĂ« tĂ« klasĂ«s korporative me pĂ«rdorimin e serverĂ«ve Dell R730xd E5-2650 v4 me çmim prej 9000 euro pĂ«r pak para?

Burimi: habr.com

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster