Parimad Kubernetes`e praktikad. VĂ€liste teenuste kaardistamine

Parimad Kubernetes'i praktikad. VĂ€ikeste konteinerite loomine
Kubernetes'i parimad tavad. Kubernetes'i korraldamine nimede ruumi abil
Kubernetes'i parimad praktikad. Kubernetes'i elujÔu kontrollimine Readiness ja Liveness testide abil
Parimad praktikad Kuberneteses. Ressursside pÀringute ja piirangute seadistamine
Kubernetes parimad praktikad. Õige katkestamine Terminate

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.

Parimad Kubernetes`e praktikad. VĂ€liste teenuste kaardistamine

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.

Parimad Kubernetes`e praktikad. VĂ€liste teenuste kaardistamine

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.

Parimad Kubernetes`e praktikad. VĂ€liste teenuste kaardistamine

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

Parimad Kubernetes`e praktikad. VĂ€liste teenuste kaardistamine

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.

Parimad Kubernetes`e praktikad. VĂ€liste teenuste kaardistamine

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

Parimad Kubernetes`e praktikad. VĂ€liste teenuste kaardistamine

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.

Parimad Kubernetes`e praktikad. VĂ€liste teenuste kaardistamine

See teenus teostab lihtsa CNAME ĂŒmbersuunamise tasemel, mis avaldab minimaalset mĂ”ju jĂ”udlusele. TĂ€nu sellele saate kasutada lihtsamat ĂŒhendusrea.

Parimad Kubernetes`e praktikad. VĂ€liste teenuste kaardistamine

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.

Parimad Kubernetes`e praktikad. VĂ€liste teenuste kaardistamine

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.

Parimad Kubernetes`e praktikad. VĂ€liste teenuste kaardistamine

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

MĂ€ngi videot

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. Pilve VPS arendajatele alates $4.99, ainulaadne entry-level serverite analoog, mille oleme teie jaoks vÀlja mÔelnud: Kogu tÔde VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps alates $19 vÔi kuidas jagada serverit Ôigesti? (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 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TB alates $199 Hollandis! Dell R420 — 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB — alates $99! Lugege sellest Kuidas luua ettevĂ”tte tasemel infrastruktuuri, kasutades Dell R730xd E5-2650 v4 servereid, mille hind on 9000 eurot, taskukohase hinna eest?

Allikas: habr.com

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster