Parimad praktikud Kuberneteses. VĂ€listeenuste kaardistamine

Kubernetesi parimad praktikad. VĂ€ikeste konteinerite loomine
Kubernetesi parimad praktikad. Kubernetesi korraldamine nimespetsiifiliste ruumide abil
Kubernetesi parimad praktikad. Kubernetesi elujÔudluse kontrollimine Readiness ja Liveness testide abil
Kubernetesi parimad praktikad. Ressursside pÀringute ja piirangute seadistamine
Kubernetes parimad praktikad. Korralik lÔpetamine Terminate

Kui olete nagu enamik inimesi, kasutate tĂ”enĂ€oliselt ressursse, mis asuvad vĂ€ljaspool teie klastrit. VĂ”ib-olla kasutate API Taleo, et saata tekstisĂ”numeid vĂ”i analĂŒĂŒsida pilte Google Cloud Vision API kaudu.

Kui kasutate sama lĂ”pp-punkti — serveri poolt pĂ€ringute vastuvĂ”tmise punkti kĂ”igis oma keskkondades ega kavatse oma servereid Kubernetesesse kolida, siis on tĂ€iesti normaalne, et teenuse lĂ”pp-punkt asub otse teie koodis. Siiski on palju teisi stsenaariume. Selles sarjas "Kubernetes parimad praktikad" saate teada, kuidas kasutada Kubernetesesse sisseehitatud mehhanisme teenuste avastamiseks nii klastris kui ka vĂ€ljaspool seda.

NĂ€iteks laialdaselt kasutatavatest vĂ€listest teenustest vĂ”ib tuua vĂ€lja andmebaasi, mis töötab vĂ€ljaspool Kubernetes klastrit. Erinevalt pilveandmebaasidest, nagu Google Cloud Data Store vĂ”i Google Cloud Spanner, millele pÀÀseb ligi ĂŒhe ja sama lĂ”pp-punkti kaudu, on enamikul andmebaasidest erinevad lĂ”pp-punktid erinevate olukordade jaoks.
TavapĂ€rase andmebaasi, nagu MySQL ja MongoDB, kasutamise parim praktika hĂ”lmab tavaliselt erinevate komponentide ĂŒhendamist erinevatesse keskkondadesse. VĂ”ib olla suur masin tootmisandmete jaoks 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 ĂŒhelt keskkonnalt teisele. SeetĂ”ttu vĂ”ite nende aadresside kĂ”va kodeerimise asemel kasutada Kubernetesi sisseehitatud teenuste avastamist, mis pĂ”hineb DNS-il, just nagu teeksite natiivsete Kubernetesi teenustega.

Parimad praktikud Kuberneteses. VĂ€listeenuste kaardistamine

Oletame, et kĂ€itate andmebaasi MongoDB Google Compute Engine'is. JĂ€ete kinni selle hĂŒbriidmaailma, kuni suudate selle klastrisse kolida.

Õnneks saate kasutusele vĂ”tta Kubernetes'i staatilised teenused, et endale elu veidi lihtsamaks teha. Selles nĂ€ites olen loonud MongoDB serveri, kasutades Google Cloud Launcherit. Kuna see on loodud samasse vĂ”rku (vĂ”i Kubernetes klastrisse VPC), toimub sellele juurdepÀÀs suure jĂ”udlusega sise-IP-aadressi kaudu.

Parimad praktikud Kuberneteses. VĂ€listeenuste kaardistamine

Google Cloudis on vaikimisi seade, nii et te ei pea midagi seadistama. NĂŒĂŒd, kui IP-aadress on olemas, on esimene samm teenuse loomine. VĂ”ib mĂ€rgata, et selle teenuse jaoks ei ole ĂŒhtegi pod'i valijat. See tĂ€hendab, et oleme loonud teenuse, mis ei tea, kuhu liiklust suunata. See vĂ”imaldab kĂ€sitsi luua endpoint objekti, mis saab liiklust sellest teenusest.

Parimad praktikud Kuberneteses. VĂ€listeenuste kaardistamine

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

Parimad praktikud Kuberneteses. VĂ€listeenuste kaardistamine

Kubernetes kasutab kĂ”iki IP-aadresse, et leida lĂ”pp-punkte, nagu oleks need tavalised Kubernetes pod'id, nii et nĂŒĂŒd saate andmebaasi juurde pÀÀseda lihtsa ĂŒhendusteksti abil, mis on antud nimi mongodb://mongo. Sellega ei ole teie koodis ĂŒldse vaja IP-aadresse kasutada.

Kui tulevikus IP-aadressid muutuvad, saate lihtsalt lÔpp-punkte vÀrskendada uue IP-aadressiga, ja teie rakendusi ei pea mingil moel muutma.

Kui kasutate andmebaasi, mis asub kolmandal pool, on tĂ”enĂ€oliselt hosti omanikud andnud teile ĂŒhendamiseks ĂŒhtse ressursi identifikaatori URI. Nii et kui teile on antud IP-aadress, saate lihtsalt kasutada eelnevat meetodit. See nĂ€ide nĂ€itab, et mul on kaks MongoDB andmebaasi, mis asuvad mLab hostis.

Parimad praktikud Kuberneteses. VĂ€listeenuste kaardistamine

Üks neist on arendajate andmebaas ja teine — tootmisandmebaas. Nende andmebaaside ĂŒhendusread nĂ€evad vĂ€lja jĂ€rgmised — mLab pakub teile dĂŒnaamilist URI-d ja dĂŒnaamilist porti. Nagu nĂ€ete, on need erinevad.

Parimad praktikud Kuberneteses. VĂ€listeenuste kaardistamine

Kuna soovime sellest eristuda, kasutame Kubernetes't ja ĂŒhendame arendajate andmebaasiga. Saate luua Kubernetes'e vĂ€lise teenuse nime, mis annab teile staatilise teenuse, mis suunab liikluse vĂ€list teenust.

Parimad praktikud Kuberneteses. VĂ€listeenuste kaardistamine

See teenus rakendab lihtsat CNAME edastamist tasemel kernel, mis mĂ”jutab tulemuslikkust minimaalselt. TĂ€nu sellele saate kasutada lihtsamat ĂŒhendusreed.

Parimad praktikud Kuberneteses. VĂ€listeenuste kaardistamine

Kuna vĂ€line nimi kasutab CNAME-i ĂŒmbersuunamist, ei saa seda portide uuenemist teha. SeetĂ”ttu on see lahendus rakendatav ainult staatilistele portidele ja ei saa kasutada dĂŒnaamiliste portide puhul. Kuid tasuta mLab Free Tier pakub vaikimisi kasutajale dĂŒnaamilist porti, ja te ei saa seda muuta. See tĂ€hendab, et dev ja prod jaoks vajate erinevaid ĂŒhenduste kĂ€sklusi. Halba on see, et porti numbrit tuleb tugevalt kodeerida. Kuidas siis portide ĂŒmbersuunamist tööle saada?

Esimene samm on saada IP-aadress URI-st. Kui kÀivitada nslookup kÀsk, hostname vÔi pingida URI, saab andmebaasi IP-aadressi. Kui teenus tagastab mitu IP-aadressi, saab kÔiki neid kasutada objekti lÔpp-punktidena.

Parimad praktikud Kuberneteses. VĂ€listeenuste kaardistamine

Pea meeles, et URI IP-aadressid vĂ”ivad muutuda ette teatamata, seega on nende kasutamine prod-s ĂŒsna riskantne. Sellise IP-aadressiga on vĂ”imalik ĂŒhenduda kaugandmebaasiga, mitte porti nĂ€idates. Seega teostab Kubernetes teenus ĂŒsna transparentselt portide ĂŒmbersuunamist.

Parimad praktikud Kuberneteses. VĂ€listeenuste kaardistamine

Kaartimine, ehk vÀliste ressursside seondamine sisemistega, annab teile vÔimaluse paindlikult neid teenuseid tulevikus klastris kasutada, vÀhendades refaktoreerimise vaeva. See hÔlbustab ka haldamist ning annab arusaama, milliseid vÀliseid teenuseid teie ettevÔte kasutab.

Peagi on see tulemas


Vaata videot

Veidi reklaami 🙂

AitĂ€h, et olete meiega. Kas teile meeldivad meie artiklid? Kas soovite nĂ€ha rohkem huvitavaid materjale? Toetage meid, tehes tellimuse vĂ”i soovitades meid tuttavatele. pilve VPS arendajatele alates $4,99, ainulaadne sisenemise taseme 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 Ă”ieti serverit jagada? (saadaval on RAID1 ja RAID10 variandid, kuni 24 sĂŒdamikku ja kuni 40GB DDR4).

Kas Dell R730xd on kaks korda odavam Equinixi Tier IV andmete keskuses Amsterdamis? Ainult meie juures 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TB alates $199 Hollandi turul! Dell R420 — 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB — alates $99! Lugege, kuidas Luua ettevĂ”tte tasemel infrastruktuur Dell R730xd E5-2650 v4 serveritega, mille hind on 9000 eurot, madala hinnaga?

Allikas: habr.com

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster