Os ydych chi fel y mwyafrif o bobl, mae'n debyg eich bod chi'n defnyddio adnoddau sy'n rhedeg y tu allan i'ch clwstwr. Efallai eich bod yn defnyddio'r API Taleo i anfon negeseuon testun, neu ddadansoddi delweddau gan ddefnyddio'r Google Cloud Vision API.
Os ydych chi'n defnyddio'r un pwynt terfyn ar gyfer ceisiadau ochr y gweinydd ym mhob un o'ch amgylcheddau ac nad ydych chi'n bwriadu mudo'ch gweinyddwyr i Kubernetes, yna mae'n berffaith iawn cael pwynt terfyn gwasanaeth yn union yn eich cod. Fodd bynnag, mae yna lawer o senarios eraill ar gyfer datblygu digwyddiadau. Yn y gyfres Arferion Gorau Kubernetes hon, byddwch yn dysgu sut i ddefnyddio mecanweithiau adeiledig Kubernetes i ddarganfod gwasanaethau y tu mewn a'r tu allan i'r clwstwr.
Enghraifft o wasanaeth allanol cyffredin yw cronfa ddata sy'n rhedeg y tu allan i glwstwr Kubernetes. Yn wahanol i gronfeydd data cwmwl fel Google Cloud Data Store neu Google Cloud Spanner, sy'n defnyddio un pwynt terfyn ar gyfer pob mynediad, mae gan y mwyafrif o gronfeydd data bwyntiau terfyn ar wahΓ’n ar gyfer gwahanol amgylchiadau.
Mae arferion gorau ar gyfer defnyddio cronfeydd data traddodiadol fel MySQL a MongoDB fel arfer yn golygu eich bod yn cysylltu Γ’ gwahanol gydrannau ar gyfer gwahanol amgylcheddau. Gallwch gael peiriant mawr ar gyfer data cynhyrchu a pheiriant llai ar gyfer yr amgylchedd prawf. Bydd gan bob un ohonynt ei gyfeiriad IP neu enw parth ei hun, ond mae'n debyg na fyddwch am newid eich cod wrth symud o un amgylchedd i'r llall. Felly yn lle codio'r cyfeiriadau hyn yn galed, gallwch ddefnyddio darganfyddiad gwasanaeth allanol DNS adeiledig Kubernetes yn yr un modd Γ’ gwasanaethau Kubernetes brodorol.
Gadewch i ni ddweud eich bod chi'n rhedeg cronfa ddata MongoDB ar Google Compute Engine. Byddwch yn sownd yn y byd hybrid hwn nes i chi lwyddo i'w drosglwyddo i'r clwstwr.
Yn ffodus, gallwch ddefnyddio gwasanaethau Kubernetes statig i wneud eich bywyd ychydig yn haws. Yn yr enghraifft hon, creais weinydd MongoDB gan ddefnyddio Google Cloud Launcher. Gan ei fod yn cael ei greu ar yr un rhwydwaith (neu glwstwr Kubernetes VPC), gellir ei gyrchu gan ddefnyddio cyfeiriad IP mewnol perfformiad uchel.
Dyma'r gosodiad diofyn ar Google Cloud, felly nid oes rhaid i chi ffurfweddu unrhyw beth. Nawr bod gennych gyfeiriad IP, y cam cyntaf yw creu gwasanaeth. Efallai y byddwch yn sylwi nad oes dewiswyr codennau ar gyfer y gwasanaeth hwn. Hynny yw, fe wnaethon ni greu gwasanaeth na fydd yn gwybod ble i anfon traffig. Bydd hyn yn caniatΓ‘u ichi greu gwrthrych diweddbwynt Γ’ llaw a fydd yn derbyn traffig o'r gwasanaeth hwn.
Mae'r enghraifft cod canlynol yn dangos bod y pwyntiau terfyn yn pennu'r cyfeiriad IP ar gyfer y gronfa ddata gan ddefnyddio'r un enw mongo Γ’'r gwasanaeth.
Bydd Kubernetes yn defnyddio pob cyfeiriad IP i ddod o hyd i bwyntiau terfyn fel pe baent yn Kubernetes Pods rheolaidd, felly nawr gallwch chi gael mynediad i'r gronfa ddata gyda llinyn cysylltiad syml i'r enw uchod mongodb://mongo. Nid oes angen defnyddio cyfeiriadau IP yn eich cod o gwbl.
Os bydd cyfeiriadau IP yn newid yn y dyfodol, yn syml iawn gallwch chi ddiweddaru'ch pwyntiau terfyn gyda'r cyfeiriad IP newydd ac ni fydd angen addasu'ch ceisiadau mewn unrhyw ffordd ychwanegol.
Os ydych chi'n defnyddio cronfa ddata sy'n cael ei chynnal ar westeiwr trydydd parti, mae'n debygol bod perchnogion y gwesteiwr wedi darparu URI Dynodwr Adnoddau Unffurf i chi gysylltu ag ef. Felly os ydych chi wedi cael cyfeiriad IP, gallwch chi ddefnyddio'r dull blaenorol. Mae'r enghraifft hon yn dangos bod gen i ddwy gronfa ddata MongoDB wedi'u cynnal ar westeiwr mLab.
Un yw cronfa ddata'r datblygwr a'r llall yw'r gronfa ddata cynhyrchu. Mae'r llinynnau cysylltu ar gyfer y cronfeydd data hyn yn edrych fel hyn - mae mLab yn darparu URI deinamig a phorthladd deinamig i chi. Fel y gwelwch, maent yn wahanol.
I dynnu hyn i ffwrdd, gadewch i ni ddefnyddio Kubernetes a chysylltu Γ’'r gronfa ddata datblygwyr. Gallwch greu enw gwasanaeth allanol Kubernetes, a fydd yn rhoi gwasanaeth statig i chi a fydd yn anfon traffig ymlaen i'r gwasanaeth allanol.
Bydd y gwasanaeth hwn yn perfformio anfon CNAME syml ymlaen ar lefel y cnewyllyn gydag effaith perfformiad fach iawn. Diolch i hyn gallwch ddefnyddio llinyn cysylltiad symlach.
Ond oherwydd bod yr enw allanol yn defnyddio anfon CNAME ymlaen, ni all berfformio anfon porthladd ymlaen. Felly, dim ond ar gyfer porthladdoedd sefydlog y mae'r ateb hwn yn berthnasol ac ni ellir ei ddefnyddio gyda phorthladdoedd deinamig. Ond mae mLab Free Haen yn rhoi rhif porthladd deinamig i'r defnyddiwr yn ddiofyn ac ni allwch ei newid. Mae hyn yn golygu bod angen llinellau gorchymyn cysylltiad gwahanol arnoch ar gyfer dev a prod. Y peth drwg yw y bydd hyn yn gofyn ichi godio rhif y porthladd yn galed. Felly sut mae cael anfon porthladd ymlaen i weithio?
Y cam cyntaf yw cael y cyfeiriad IP o'r URI. Os ydych yn rhedeg nslookup, enw gwesteiwr, neu ping yr URI, gallwch gael cyfeiriad IP y gronfa ddata. Os bydd y gwasanaeth yn dychwelyd sawl cyfeiriad IP i chi, yna gellir defnyddio pob un o'r cyfeiriadau hyn ym mhen draw'r gwrthrych.
Un peth i'w gadw mewn cof yw y gall URIs IP newid heb rybudd, gan eu gwneud yn eithaf peryglus i'w defnyddio mewn prod. Gan ddefnyddio'r cyfeiriad IP hwn, gallwch gysylltu Γ’ chronfa ddata anghysbell heb nodi porthladd. Felly, mae gwasanaeth Kubernetes yn perfformio anfon porthladdoedd yn eithaf tryloyw.
Mae mapio, neu fapio adnoddau allanol i rai mewnol, yn rhoi'r hyblygrwydd i chi ddefnyddio'r gwasanaethau hyn o fewn y clwstwr yn y dyfodol tra'n lleihau ymdrechion ailffactorio. Mae hefyd yn ei gwneud hi'n haws rheoli a darparu mewnwelediad i ba wasanaethau allanol y mae eich cwmni'n eu defnyddio.
I'w barhau yn fuan iawn...
Rhai hysbysebion π
Diolch am aros gyda ni. Ydych chi'n hoffi ein herthyglau? Eisiau gweld cynnwys mwy diddorol? Cefnogwch ni trwy osod archeb neu argymell i ffrindiau,
Dell R730xd 2 gwaith yn rhatach yng nghanolfan ddata Equinix Haen IV yn Amsterdam? Dim ond yma
Ffynhonnell: hab.com