Bestu starfsvenjur Kubernetes. Kortlagning ytri þjónustu

Bestu starfsvenjur Kubernetes. Að búa til litla ílát
Bestu starfsvenjur Kubernetes. Skipulag Kubernetes með nafnrými
Bestu starfsvenjur Kubernetes. Staðfestir Kubernetes lífleika með tilbúinn og lífleikaprófum
Bestu starfsvenjur Kubernetes. Setja upp auðlindabeiðnir og takmarkanir
Bestu starfsvenjur Kubernetes. Rétt lokun Ljúktu

Ef þú ert eins og flestir, þá ertu líklega að nota auðlindir sem keyra utan klasans þíns. Kannski notarðu Taleo API til að senda textaskilaboð eða greinir myndir með Google Cloud Vision API.

Ef þú notar sama beiðniendapunkt á netþjóni í öllu umhverfi þínu og ætlar ekki að flytja netþjóna þína til Kubernetes, þá er það fullkomlega í lagi að hafa þjónustuendapunkt beint í kóðanum þínum. Hins vegar eru margar aðrar aðstæður fyrir þróun atburða. Í þessari Kubernetes Best Practices röð muntu læra hvernig á að nota innbyggða kerfi Kubernetes til að uppgötva þjónustu bæði innan og utan klasans.

Dæmi um algenga ytri þjónustu er gagnagrunnur sem keyrir utan Kubernetes klasa. Ólíkt skýjagagnagrunnum eins og Google Cloud Data Store eða Google Cloud Spanner, sem nota einn endapunkt fyrir allan aðgang, hafa flestir gagnagrunnar aðskilda endapunkta fyrir mismunandi aðstæður.
Bestu starfsvenjur til að nota hefðbundna gagnagrunna eins og MySQL og MongoDB þýðir venjulega að þú tengist mismunandi íhlutum fyrir mismunandi umhverfi. Þú getur haft stóra vél fyrir framleiðslugögn og minni vél fyrir prófunarumhverfið. Hver þeirra mun hafa sitt eigið IP-tölu eða lén, en þú vilt líklega ekki breyta kóðanum þínum þegar þú ferð úr einu umhverfi í annað. Þannig að í stað þess að harðkóða þessi heimilisföng geturðu notað innbyggða DNS-byggða ytri þjónustuuppgötvun Kubernetes á sama hátt og innbyggða Kubernetes þjónustu.

Bestu starfsvenjur Kubernetes. Kortlagning ytri þjónustu

Segjum að þú sért að keyra MongoDB gagnagrunn á Google Compute Engine. Þú verður fastur í þessum blendingsheimi þar til þér tekst að flytja hann yfir í þyrpinguna.

Sem betur fer geturðu notað kyrrstæða Kubernetes þjónustu til að gera líf þitt aðeins auðveldara. Í þessu dæmi bjó ég til MongoDB netþjón með því að nota Google Cloud Launcher. Þar sem það er búið til á sama neti (eða Kubernetes cluster VPC), er það opnað með afkastamikilli innri IP tölu.

Bestu starfsvenjur Kubernetes. Kortlagning ytri þjónustu

Þetta er sjálfgefin stilling á Google Cloud, svo þú þarft ekki að stilla neitt. Nú þegar þú ert með IP tölu er fyrsta skrefið að búa til þjónustu. Þú gætir tekið eftir því að það eru engir belgvalarar fyrir þessa þjónustu. Það er, við bjuggum til þjónustu sem mun ekki vita hvert á að senda umferð. Þetta gerir þér kleift að búa til endapunktshlut sem mun taka á móti umferð frá þessari þjónustu.

Bestu starfsvenjur Kubernetes. Kortlagning ytri þjónustu

Eftirfarandi kóðadæmi sýnir að endapunktarnir ákvarða IP tölu gagnagrunnsins með því að nota sama mongo nafn og þjónustan.

Bestu starfsvenjur Kubernetes. Kortlagning ytri þjónustu

Kubernetes mun nota allar IP-tölur til að finna endapunkta eins og þeir væru venjulegir Kubernetes Pods, svo nú geturðu fengið aðgang að gagnagrunninum með einföldum tengistreng við ofangreint nafn mongodb://mongo. Það er engin þörf á að nota IP tölur í kóðanum þínum yfirleitt.

Ef IP-tölur breytast í framtíðinni geturðu einfaldlega uppfært endapunktana þína með nýju IP-tölunni og ekki þarf að breyta forritunum þínum á nokkurn hátt.

Ef þú ert að nota gagnagrunn sem hýst er á þriðja aðila hýsingaraðila er líklegt að eigendur hýsilsins hafi útvegað þér Uniform Resource Identifier URI til að tengjast. Þannig að ef þú hefur fengið IP tölu geturðu einfaldlega notað fyrri aðferðina. Þetta dæmi sýnir að ég er með tvo MongoDB gagnagrunna sem eru hýstir á mLab hýsil.

Bestu starfsvenjur Kubernetes. Kortlagning ytri þjónustu

Annar er þróunargagnagrunnurinn og hinn er framleiðslugagnagrunnurinn. Tengistrengirnir fyrir þessa gagnagrunna líta svona út - mLab veitir þér kraftmikla URI og kraftmikla tengi. Eins og þú sérð eru þeir ólíkir.

Bestu starfsvenjur Kubernetes. Kortlagning ytri þjónustu

Til að draga þetta í burtu skulum við nota Kubernetes og tengjumst við þróunargagnagrunninn. Þú getur búið til ytri Kubernetes þjónustuheiti, sem gefur þér kyrrstæða þjónustu sem mun senda umferð til ytri þjónustunnar.

Bestu starfsvenjur Kubernetes. Kortlagning ytri þjónustu

Þessi þjónusta mun framkvæma einfalda CNAME-framsendingu á kjarnastigi með lágmarksáhrifum á frammistöðu. Þökk sé þessu geturðu notað einfaldari tengistreng.

Bestu starfsvenjur Kubernetes. Kortlagning ytri þjónustu

En vegna þess að ytra nafnið notar CNAME-framsendingu getur það ekki framkvæmt portframsendingu. Þess vegna á þessi lausn aðeins við fyrir kyrrstæðar höfn og er ekki hægt að nota hana með kraftmiklum höfnum. En mLab Free Tier gefur notandanum sjálfgefið kraftmikið gáttarnúmer og þú getur ekki breytt því. Þetta þýðir að þú þarft mismunandi tengingarskipanalínur fyrir dev og prod. Það slæma er að þetta mun krefjast þess að þú þurfir að harðkóða gáttarnúmerið. Svo hvernig færðu höfn áfram til að virka?

Fyrsta skrefið er að fá IP tölu frá URI. Ef þú keyrir nslookup, hostname eða pingar URI geturðu fengið IP tölu gagnagrunnsins. Ef þjónustan skilar nokkrum IP tölum til þín, þá er hægt að nota öll þessi vistföng á endapunktum hlutarins.

Bestu starfsvenjur Kubernetes. Kortlagning ytri þjónustu

Eitt sem þarf að hafa í huga er að IP URIs geta breyst án fyrirvara, sem gerir þær nokkuð áhættusamar að nota í framleiðslu. Með því að nota þetta IP-tölu geturðu tengst ytri gagnagrunni án þess að tilgreina tengi. Þannig framkvæmir Kubernetes þjónustan framsendingu hafna nokkuð gegnsærri.

Bestu starfsvenjur Kubernetes. Kortlagning ytri þjónustu

Kortlagning, eða kortlagning ytri auðlinda við innri, gefur þér sveigjanleika til að nota þessa þjónustu innan klasans í framtíðinni á meðan þú lágmarkar endurnýjunarviðleitni. Það gerir það einnig auðveldara að stjórna og veita innsýn í hvaða ytri þjónustu fyrirtæki þitt notar.

Framhald mjög fljótlega...

Nokkrar auglýsingar 🙂

Þakka þér fyrir að vera hjá okkur. Líkar þér við greinarnar okkar? Viltu sjá meira áhugavert efni? Styðjið okkur með því að leggja inn pöntun eða mæla með því við vini, cloud VPS fyrir forritara frá $4.99, einstök hliðstæða upphafsþjóna, sem var fundið upp af okkur fyrir þig: Allur sannleikurinn um VPS (KVM) E5-2697 v3 (6 kjarna) 10GB DDR4 480GB SSD 1Gbps frá $19 eða hvernig á að deila netþjóni? (fáanlegt með RAID1 og RAID10, allt að 24 kjarna og allt að 40GB DDR4).

Dell R730xd 2x ódýrari í Equinix Tier IV gagnaveri í Amsterdam? Aðeins hér 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 sjónvarp frá $199 í Hollandi! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - frá $99! Lestu um Hvernig á að byggja upp infrastructure Corp. flokki með notkun Dell R730xd E5-2650 v4 netþjóna að verðmæti 9000 evrur fyrir eyri?

Heimild: www.habr.com

Bæta við athugasemd