Kubadilisha default-address-pools hakuorodheshi upya mitandao uliyonayo tayari, na kutarajia hilo ndiyo njia ambayo mpango makini hugeuka kuwa usumbufu usiotarajiwa. Mpangilio unadhibiti ugawaji wa kiotomatiki kwa mitandao inayoundwa baada ya daemon kuanza upya na usanidi mpya. Kila kitu kinachoendesha tayari kinabaki na subnet iliyopewa, kwa sababu subnet hiyo ni sehemu ya ufafanuzi uliohifadhiwa wa mtandao. Hadithi ni rahisi kwa sababu inapendekeza uhariri mmoja hutatua kila mwingiliano, na ukweli ni kazi ya sehemu mbili: chagua safu iliyo huru kweli, kisha hamisha mitandao ambayo haiko huru.

Hadithi: badiliko moja la dimbwi hutatua mwingiliano

Hadithi ina umbo maalum. Mtu anasoma kwamba dimbwi la chaguo-msingi la Docker linaweza kubadilishwa, analibadilisha, anaanzisha upya daemon na anahitimisha kwamba mtandao wa kontena hautagongani tena na VPN ya ofisi. Mtandao wa zamani bado upo, bado umeunganishwa, na bado unashikilia anwani inayogongana.

Kilichobadilika ni tabia ya baadaye ya mgawaji, ambayo ni muhimu kweli na ni yenye mipaka kweli. Mitandao mipya iliyoundwa bila --subnet dhahiri hukatwa kutoka dimbwi jipya; ile iliyopo haikuwa kamwe katika dimbwi hilo. Kuanza upya hakujenga upya mitandao na hakuhamishi kontena kati yao. Ikiwa dalili itaendelea baada ya badiliko, badiliko lilikuwa la kweli na utambuzi haukuwa kamili.

Safu ya msingi na kiambishi kilichotengwa

Usanidi una sehemu mbili ambazo ni rahisi kuchanganya. base ni safu ambayo mgawaji hukata, na size ni urefu wa kiambishi cha kila mtandao uliotengwa, kwa hiyo msingi 10.10.0.0/16 wenye ukubwa 24 hugawa /24 ndani ya /16 hiyo. Kubadilisha majukumu huzalisha muundo wa ugawaji ambao hukukusudia, kwa kawaida mtandao mmoja mkubwa sana au dimbwi lililoisha.

Dimbwi ni uhifadhi, si uthibitisho. Docker huepuka migongano inayoiona katika jedwali la uelekezaji la mwenyeji, na haiwezi kuona VPN ambayo bado hujaunganishwa nayo.

Kizuizi hicho ndicho sababu yote ya kuchagua kwa makusudi. Safu za kulinganisha ni zile ambazo mwenyeji lazima azifikie: LAN ya ofisi, subnet za ndani za VPN ya shirika, viambishi vya maabara au staging, na mwenyeji mwingine wowote wa kontena kwenye overlay hiyo hiyo. Ziandike kama CIDR kabla ya kugusa daemon, kwa sababu orodha iliyo kichwani itakosa ile inayojalisha. Kisha chagua msingi ambao hauendani na yoyote kati yao, na uweke orodha pamoja na usambazaji ili mtu anayefuata asirudie zoezi hilo kwa kumbukumbu.

Orodhesha kabla ya kuchagua

Kwanza orodhesha kilichopo. docker network ls huorodhesha mitandao, na docker network inspect bridge -f '{{.IPAM.Config}}' huchapisha subnet ambayo mtandao fulani hutumia. Rudia kwa kila mtandao uliofafanuliwa na mtumiaji, kwa sababu miradi ya Compose huunda yao, na --subnet dhahiri katika faili ya compose hupita dimbwi kabisa.

Hoja hiyo ya mwisho ndiyo inayostahimili uhamishaji. Badiliko la dimbwi halkuzuii mwenzako kufunga 172.18.0.0/16 katika faili ya compose, na mgongano hurudi na mwandishi mwingine.

Kuhamisha kile kilichopo tayari

Kuhamisha mitandao iliyopo ni operesheni tofauti na inayotumika. Kila mtandao ulioathirika lazima uundwe upya na subnet mpya, ambayo inamaanisha kutenganisha na kuunganisha tena kontena zinazoutumia, na kuunda upya mtandao huondoa viambatisho vyake vya kontena badala ya kuvihamisha. Hifadhi voli na usanidi na uchukulie uundaji upya kama usambazaji, si kama uwekaji upya wa data. Fanya kazi katika dirisha la matengenezo, kwa sababu kontena kwenye mtandao ulioundwa upya huanza upya iwe ulipanga hivyo au la.

Fuata usanidi wa daemon ulioandikwa na utaratibu wa kuanza upya, na uratibu usumbufu. Kwenye mwenyeji mwenye daemon moja, systemctl restart docker huanzisha upya kontena kulingana na sera zao za kuanza upya, na hiyo ni tabia inayofaa kuijua kabla badala ya baada.

Kisha thibitisha mambo mawili ambayo badiliko lilipaswa kurekebisha. Chunguza subnet mpya kwa docker network inspect na uthibitishie kwamba iko ndani ya msingi uliochaguliwa, kisha angalia njia kuelekea lengo la VPN linalowakilisha kwa ip route get 10.20.30.40 na thibitisha kwamba inakwenda unapotarajia, si kwenye daraja. Jaribu pia ugunduzi wa huduma na mawasiliano kati ya kontena, kwa sababu mtandao ulioundwa upya na anwani tofauti unaweza kuvunja utatuzi wa majina kwa namna inayoonekana kama hitilafu ya programu.

Nini bado kinavunjika baada ya hapo

Sehemu ya kudumu ni rekodi. Weka orodha ya ugawaji, msingi na ukubwa uliochaguliwa, na mitandao iliyoundwa upya mahali pamoja na usambazaji.

Kuwa safu ni ya faragha hakufanyi iwe salama kutumika tena. 10.0.0.0/8 ni ya faragha na pia ni kitu kinachowezekana zaidi kuwa tayari kinatumika mahali pengine kwenye njia, ndiyo sababu jibu ni uhifadhi maalum na si upendeleo kwa kizuizi kimoja. Nyaraka za mtandao za Docker zinaeleza ugawaji wa subnet wa kiotomatiki na sehemu za dimbwi. Chagua safu kulingana na kile unachopaswa kufikia, si kulingana na kile kinachoonekana nadhifu.

Makala zinazohusiana