Kui te olete nagu enamik inimesi, siis tĂ”enĂ€oliselt kasutate ressursse, mis töötavad teie klastrist vĂ€ljaspool. VĂ”ib-olla kasutate Taleo API-d tekstisĂ”numite saatmiseks vĂ”i analĂŒĂŒsite pilte Google Cloud Vision API abil.
Kui kasutate sama lĂ”pp-punkti â serveri kĂŒlje pĂ€ringute vastuvĂ”tu punkti oma kĂ”igis keskkondades ja te ei kavatse oma servereid Kubernetesesse viia, siis on tĂ€iesti normaalne, et teenuse lĂ”pp-punkt on otse teie koodis. Siiski on palju teisi stsenaariume. Selles Kubernetes parimate praktika seerias saate teada, kuidas kasutada Kubernetesesse sisseehitatud mehhanisme teenuste avastamiseks nii klastris sees kui ka vĂ€ljaspool.
NĂ€iteks laialdaselt levinud vĂ€line teenus on andmebaas, mis töötab vĂ€ljaspool Kubernetes klastrit. Erinevalt sellistest pilveandmebaasidest nagu Google Cloud Data Store vĂ”i Google Cloud Spanner, mis kasutavad ĂŒhte lĂ”pp-punkti kĂ”ikide ligipÀÀsuvormide jaoks, on enamikul andmebaasidest erinevad lĂ”pp-punktid erinevate olukordade jaoks.
Tava praktika traditsiooniliste andmebaaside, nagu MySQL ja MongoDB, kasutamisel nĂ”uab tavaliselt, et ĂŒhendaksite erinevate komponentidega erinevate keskkondade jaoks. Teie tootmisandmete jaoks vĂ”ib olla vĂ”imas masin ja vĂ€iksem masin testkeskkonna jaoks. Igal neist on oma IP-aadress vĂ”i domeeninimi, kuid te kindlasti ei taha oma koodi muuta, kui liigute ĂŒhest keskkonnast teise. SeetĂ”ttu vĂ”ite nende aadresside kĂ”va koodimise asemel kasutada Kubernetesesse sisseehitatud teenuste avastamist DNS-i kaudu, just nagu natiivsete Kubernetes teenuste puhul.

Eeldame, et kĂ€itate MongoDB andmebaasi Google Compute Engine'is. Te jÀÀte selle hĂŒbriidmaailma idas, kuni suudate selle klastrisse viia.
KĂŒll aga saate kasutada Kubernetesesse staatilisi teenuseid, et oma elu veidi lihtsustada. Selles nĂ€ites lĂ”in MongoDB serveri, kasutades Google Cloud Launcherit. Kuna see on loodud samasse vĂ”rku (vĂ”i Kubernetes klastrisse VPC-sse), on sellele juurdepÀÀs kĂ”rge jĂ”udlusega sisemise IP-aadressiga.

Google Cloudis on vaikeseade, nii et teil ei ole vaja midagi seadistada. NĂŒĂŒd, kui IP-aadress on olemas, seisneb esimene samm teenuse loomises. VĂ”ite mĂ€rkida, et selle teenuse jaoks ei ole podide valikureid. See tĂ€hendab, et oleme loonud teenuse, mis ei tea, kuhu liiklust saata. See vĂ”imaldab kĂ€sitsi luua lĂ”pp-punkti objekti, mis saab liiklust sellelt teenuselt.

JÀrgmine koodinÀide nÀitab, et lÔpp-punktid mÀÀravad andmebaasi IP-aadressi, kasutades sama nime mongo, mis on teenusel.

Kubernetes kasutab kĂ”iki IP-aadresse, et leida lĂ”pp-punkte, justkui need oleksid tavalised Kubernetes'e podid, seega saate nĂŒĂŒd andmebaasile juurde pÀÀseda lihtsa ĂŒhendusrea kaudu, varasemalt mainitud nime mongodb://mongo kaudu. Selle puhul pole teie koodis ĂŒldse vaja IP-aadresse kasutada.
Kui tulevikus IP-aadressid muutuvad, saate lihtsalt vÀrskendada lÔpp-punkte uue IP-aadressiga, ja teie rakendusi ei pea kuidagi muid korraldusi tegema.
Kui kasutate andmebaasi, mis on majutatud kolmandal osapoolel, on tĂ”enĂ€oliselt hostide omanikud andnud teile ĂŒhendamiseks ĂŒhtse ressursi identifikaatori URI. Kui teil on IP-aadress, vĂ”ite kasutada eelnevat meetodit. See nĂ€ide nĂ€itab, et mul on kaks MongoDB andmebaasi, mis on majutatud mLab hosts.

Ăks neist on arendaja andmebaas ja teine on tootmisandmebaas. Nende andmebaaside ĂŒhendusread nĂ€evad vĂ€lja sellised â mLab annab teile dĂŒnaamilise URI ja dĂŒnaamilise pordi. Nagu nĂ€ete, on need erinevad.

Selleks, et sellest loobuda, kasutame Kubernetes'e ja ĂŒhendame arendaja andmebaasiga. Saate luua Kubernetes'e vĂ€lise teenuse nime, mis annab teile staatilise teenuse, mis suunab liiklust vĂ€lisele teenusele.

See teenus teostab lihtsa CNAME ĂŒmbersuunamise tasemel, mis avaldab minimaalset mĂ”ju jĂ”udlusele. TĂ€nu sellele saate kasutada lihtsamat ĂŒhendusrea.
![]()
Kuna vĂ€lisnimi kasutab CNAME suunamist, ei saa see portide ĂŒmbernimetamiseks töötada. SeetĂ”ttu kehtib see lahendus ainult staatilistele portidele ning seda ei saa kasutada dĂŒnaamiliste portidega. Siiski, tasuta mLab Free Tier annab vaikimisi kasutajale dĂŒnaamilise porti numbri, mida te ei saa muuta. See tĂ€hendab, et dev ja prod jaoks on teil vaja erinevaid ĂŒhenduse kĂ€sureasid. Halvasti on see, et peate porti numbri jĂ€rjekindlalt kodeerima. Kuidas siis portide ĂŒmbernimetamine tööle panna?
Esimene samm on saada IP-aadress URI-st. Kui kÀivitate nslookup kÀsu, hostname'i vÔi pingite URI-d, saate andmebaasi IP-aadressi. Kui teenus tagastab teile mitu IP-aadressi, saate neid kÔiki kasutada objekti lÔpp-punktides.

Peate meeles pidama, et URI IP-aadressid vĂ”ivad muutuda ette teatamata, mistĂ”ttu on nende kasutamine prod keskkonnas ĂŒsna riskantne. Sellise IP-aadressiga saab ĂŒhenduda kaugarvuti andmebaasiga, ilma et porti tĂ€psustataks. Seega tĂ€idab Kubernetes teenus portide ĂŒmbernimetamise ĂŒsna lĂ€bipaistvalt.

Mapping, ehk vÀliste ressursside sidumine sisemistega, annab teile vÔimaluse kasutada neid teenuseid klastris paindlikult tulevikus, minimeerides samas refaktoorimisvaeva. See lihtsustab ka haldamist ja annab arusaamise, milliseid vÀliseid teenuseid teie ettevÔte kasutab.
JĂ€tkub peagi...

Veidi reklaami đ
AitÀh, et olete meiega. Kas teile meeldivad meie artiklid? Kas soovite nÀha rohkem huvitavat sisu? Toetage meid, tellides teenuse vÔi soovitades meid tuttavatele. , ainulaadne entry-level serverite analoog, mille oleme teie jaoks vÀlja mÔelnud: (saadaval RAID1 ja RAID10 variandid, kuni 24 tuuma ja kuni 40GB DDR4).
Dell R730xd on Equinixi Tier IV andmekeskuses Amsterdamis kaks korda odavam? Ainult meie juures Hollandis! Dell R420 â 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB â alates $99! Lugege sellest
Allikas: habr.com
