Aon óstach, dhá ualach oibre agus riachtanas a scarann iad: cliant íoslódála a chaithfidh teacht amach trí VPN tráchtála, agus comhéadan bainistíochta a chaithfidh leanúint d'úsáid a bhaint as nasc an óstaigh. Má shuiteáiltear an cliant VPN ar an óstach, teipeann an riachtanas láithreach, mar ansin roinneann an dá ualach aon bhealach amach amháin. Is é an patrún a oibríonn i ndáiríre an tollán a aistriú isteach ina choimeádán féin agus gan ligean ach do na hualaí a bhfuil sé de dhíth orthu teacht isteach i spás ainmneacha líonra an choimeádáin sin. Coinníonn gach rud eile an gnáthbhealach Docker, agus is iarmhairtí iad na sonraí a leanann ar cé a shealbhaíonn an spás ainmneacha.

Cén fáth a n-athraíonn spás ainmneacha comhroinnte na rialacha

Ní fhaigheann coimeádán a thagann isteach i spás ainmneacha coimeádáin eile a stac líonra féin. Feiceann sé na comhéadain chéanna, an tábla ródaithe céanna agus an loopback céanna leis an gcoimeádán ar tháinig sé isteach ann, agus is ar an gcúis sin go beacht atá an patrún úsáideach: réitíonn agus ceanglaíonn an t-ualach go normálta, agus gabhann an tollán thíos an trácht gan fhios ag an bhfeidhmchlár. Is é an costas ná go bhfuil úinéir amháin ag gach socrú líonra anois, agus ní hé an coimeádán a thagann isteach an t-úinéir sin.

Freagraíonn an riail úinéireachta sin an chuid is mó de na ceisteanna cumraíochta sula gcuirtear iad. Má tá socrú ina chónaí sa stac líonra, baineann sé leis an gcoimeádán taobh. Má chuireann sé síos ar an bpróiseas, fanann sé leis an ualach.

Is é an loopback an chuid a chuireann iontas ar dhaoine. Laistigh den choimeádán a thagann isteach, réitítear localhost go loopback an choimeádáin taoibh, ní go ceann príobháideach dá chuid féin, mar sin tá seirbhís a cheanglaíonn le 127.0.0.1 ag súil le leithlisiú ag roinnt an tseolta sin anois leis an gcoimeádán tolláin.

Foilsigh calafoirt ar an gcoimeádán a shealbhaíonn an spás ainmneacha

Baineann mapáil na gcalafort le húinéir an spáis ainmneacha fiú nuair a ritheann an próiseas éisteachta sa choimeádán eile. Dearbhaigh an mhapáil ar an gcoimeádán taobh, agus lig don ualach a chumraíocht próisis féin a choinneáil slán. Ní féidir le mapáil ar an tseirbhís a thagann isteach teacht i bhfeidhm, cibé acu a dhiúltaíonn an t-inneall di nó a dhéanann sé neamhaird chiúin uirthi ag brath ar an gcaoi a gcuirtear an coimeádán ar bun, agus is ar an gcúis sin a imíonn comhéadan a bhí inrochtana nóiméad ó shin a luaithe a chuirtear an patrún i bhfeidhm.

services:
  gluetun:
    image: qmcgaw/gluetun
    cap_add: [NET_ADMIN]
    ports: ["8080:8080"]
  client-vpn:
    image: example/client
    network_mode: "service:gluetun"
  client-direct:
    image: example/client
    ports: ["8081:8080"]

Léigh an bloc sin mar thrí chinneadh seachas trí sheirbhís. Sealbhaíonn an coimeádán taobh an tollán agus an calafort foilsithe; ní dhearbhaíonn an cliant a thagann isteach aon líonra ar chor ar bith; coinníonn an cliant díreach mapáil dá chuid féin ar an líonra réamhshocraithe. Is é an cumas NET_ADMIN an rud a ligeann don choimeádán taobh comhéadain a chruthú agus róid a athrú, agus sin an fáth a dteastaíonn níos mó pribhléidí ón gcoimeádán seo ná ó na hualaí a fhreastalaíonn sé orthu.

Coinníonn an tseirbhís a fhanann díreach a líonra féin

Coinníonn an t-ualach nár cheart dul tríd an tollán an droichead réamhshocraithe nó líonra ar leith atá sainithe ag an úsáideoir, lena chalafort foilsithe féin agus lena bhealach amach féin. Tá sé mealltach é a cheangal le líonra an choimeádáin taoibh ionas gur féidir leis an dá choimeádán labhairt de réir ainm, ach bogann an t-aon chéim sin a thrácht go ciúin isteach sa tollán. Má chaithfidh siad teacht ar a chéile, tóg líonra ar leith sainithe ag an úsáideoir, ceangail an bheirt leis, agus fág an coimeádán taobh mar an t-aon bhealach amach.

Coinnigh an dá cheist ó chéile: cé na coimeádáin ar féidir leo teacht ar a chéile, agus cé acu a théann amach cá háit. Is é a gcomhtháthú an bealach is coitianta a n-athraíonn an dearadh seo ina VPN ar fud an óstaigh arís.

Maitrís teipe don chéad uair an chloig

Teipeann an chuid is mó de na chéad iarrachtaí ar cheann de cheithre bhealach, agus tá cúis dhifriúil ag gach ceann. Seiceáil iad san ord seo, mar míníonn an chéad dá cheann beagnach gach tuarascáil.

SymptomLikely cause
Web UI unreachable after the changePort mapping declared on the joining container instead of the sidecar
Both containers show the provider's exit addressThe direct service was attached to the sidecar network
Internal names stop resolvingResolver settings live on the host, not in the shared namespace
Health check fails but the app worksThe check probes localhost, which now means the sidecar

Is é an ceathrú ró an ceann a ndéanann daoine mí-dhiagnóis air mar fhabht feidhmchláir. Tá tástáil a scríobhadh i gcoinne loopback féin an ualaigh ag tástáil an choimeádáin tolláin anois, mar sin teipeann sé nó tuairiscíonn sé seirbhís iomlán mícheart.

Nuair a bhíonn an tollán de dhíth ar aon óstainm amháin

Uaireanta bíonn tollán iomlán rómhór: caithfidh aon ainm inmheánach dul trí VPN corparáideach agus socóg áitiúil nó nasc taispeána ag leanúint ar aghaidh ag obair. Bristear an bealach sin agus gach rud a sheoltar chuig an óstach le tollán iomlán laistigh den choimeádán, mar sin ná ródáil ach an réimír a bhfuil sé de dhíth uirthi. Déanann fillteán ródaithe scoilte timpeall an chliaint é sin, ag seoladh an óstainm ainmnithe tríd an tollán agus ag fágáil an róid roimhe sin slán do gach rud eile.

Roghnaigh é seo nuair nach gá duit teacht ach ar aon tseirbhís amháin agus nach bhfuil tú ag iarraidh trácht uile an choimeádáin a bhogadh. Is uirlis dhifriúil é ón gcoimeádán taobh agus freagraíonn sé ceist dhifriúil.

Fíoraigh, agus ansin déan é a sheasamh athluchtaithe

Fiafraigh de gach coimeádán ó cén seoladh a bhfuil sé le feiceáil ag teacht. Ba cheart don cheann tolláin seoladh an tsoláthraí a phriontáil agus don cheann díreach bealach amach an óstaigh. Ciallaíonn freagraí comhionanna gur oidhreachtaigh an tseirbhís dhíreach an spás ainmneacha mícheart nó go bhfuil VPN ar leibhéal an óstaigh fós ag gabháil gach rud, agus tá an dá cheartú sin difriúil. Rith an tseiceáil arís tar éis gach eagarthóireacht compose, mar tá aon bhloc seirbhíse cóipeáilte go leor chun an fhadhb a thabhairt ar ais.

Bíonn claonadh ag trí rud briseadh níos déanaí. Leanann DNS úinéir an spáis ainmneacha, mar sin baineann socruithe an réititheora agus an fhearainn chuardaigh leis an gcoimeádán taobh seachas leis an óstach. Athraíonn VPN a bhfuil calafort á sheoladh ar aghaidh aige a chalafort éisteachta ar athnascadh, mar sin caithfear calafort seolta an tsoláthraí agus an calafort éisteachta ar thaobh an choimeádáin a scríobh ar ais i gcumraíocht an chliaint nó sa mhapáil calafort, de ghnáth le nuashonraitheoir beag a léann API an tsoláthraí. Agus iarrann aon tástáil a scríobhtar i gcoinne localhost ar an gcoimeádán tolláin anois seachas ar an ualach.

Scríobh an patrún síos, lena n-áirítear cé acu coimeádán a shealbhaíonn an spás ainmneacha agus cé na calafoirt a bhaineann leis. Cuirfidh an chéad duine eile seirbhís leis, cóipeoidh sé an bloc mícheart agus atáirg sé an chéad teip san alt seo.

Ailt ghaolmhara