Nid yw newid y pwll rhagosodedig Docker yn ailrifo rhwydweithiau
Mae newid default-address-pools yn llywodraethu rhwydweithiau awtomatig newydd yn unig. Rhestra'r ystodau rydych eisoes yn eu defnyddio, yna cynlluniwch y mudo ar gyfer yr hyn sydd eisoes yn rhedeg.
Nid yw newid default-address-pools yn ailrifo'r rhwydweithiau sydd gennych eisoes, a disgwyl iddo wneud hynny yw sut mae cynllun gofalus yn troi'n amhariad annisgwyl. Mae'r gosodiad yn llywodraethu dyraniad awtomatig ar gyfer rhwydweithiau a grëir ar ôl i'r daemon ailgychwyn gyda'r ffurfweddiad newydd. Mae popeth sy'n rhedeg yn barod yn cadw'r is-rwydwaith a roddwyd iddo, oherwydd bod yr is-rwydwaith hwnnw'n rhan o ddiffiniad storio'r rhwydwaith. Mae'r myth yn gyfleus oherwydd ei fod yn awgrymu bod un golygiad yn trwsio pob gorgyffwrdd, a'r gwirionedd yw gwaith dwy ran: dewiswch ystod sydd wir yn rhydd, yna mudwch y rhwydweithiau nad ydynt.
Y myth: mae un newid pwll yn trwsio'r gorgyffwrdd
Mae gan y myth ffurf benodol. Mae rhywun yn darllen y gellir newid pwll rhagosodedig Docker, yn ei newid, yn ailgychwyn y daemon, ac yn dod i'r casgliad nad yw'r rhwydwaith cynwysyddion bellach yn gwrthdaro â VPN y swyddfa. Mae'r hen rwydwaith yn dal yno, yn dal wedi'i gysylltu, ac yn dal i ddal y cyfeiriad sy'n gwrthdaro.
Yr hyn a newidiodd yw ymddygiad y dyrennydd yn y dyfodol, sy'n wirioneddol ddefnyddiol ac yn wirioneddol gyfyngedig. Mae rhwydweithiau newydd a grëir heb --subnet penodol yn cael eu torri o'r pwll newydd; ni fu'r rhai presennol yn y pwll hwnnw erioed. Nid yw ailgychwyn yn ailadeiladu rhwydweithiau ac nid yw'n symud cynwysyddion rhyngddynt. Os yw'r symptom yn parhau ar ôl y newid, roedd y newid yn real a'r diagnosis yn anghyflawn.
Ystod sylfaen a'r rhagddodiad a ddynodwyd
Mae gan y ffurfweddiad ddau faes sy'n hawdd eu drysu. base yw'r ystod y mae'r dyrennydd yn torri ohoni, a size yw hyd rhagddodiad pob rhwydwaith a ddynodir, felly mae sylfaen 10.10.0.0/16 â maint 24 yn dosbarthu /24 o fewn y /16 hwnnw. Mae gwrthdroi'r rolau yn cynhyrchu patrwm dyraniad na fwriadwyd, fel arfer un rhwydwaith enfawr neu bwll wedi'i ddihysbyddu.
Mae pwll yn archeb, nid yn brawf. Mae Docker yn osgoi gwrthdaro y gall eu gweld yn nhabl llwybro'r gwesteiwr, ac ni all weld VPN nad ydych wedi cysylltu ag ef eto.
Y cyfyngiad hwnnw yw'r rheswm cyfan dros ddewis yn fwriadol. Yr ystodau i'w cymharu â hwy yw'r rhai y mae'n rhaid i'r gwesteiwr eu cyrraedd: LAN y swyddfa, is-rwydweithiau mewnol VPN y gorfforaeth, rhagddodiadau'r labordy neu'r staging, ac unrhyw westeiwr cynwysyddion arall ar yr un overlay. Ysgrifennwch hwy fel CIDR cyn i chi gyffwrdd â'r daemon, oherwydd bydd rhestr yn eich pen yn methu'r un sy'n bwysig. Yna dewiswch sylfaen nad yw'n gorgyffwrdd ag unrhyw un ohonynt, a chadwch y rhestr gyda'r defnydd fel nad yw'r person nesaf yn ailadrodd yr ymarfer o'r cof.
Rhestrwch cyn i chi ddewis
Rhestrwch yr hyn sydd eisoes yn bodoli yn gyntaf. Mae docker network ls yn rhestru'r rhwydweithiau, ac mae docker network inspect bridge -f '{{.IPAM.Config}}' yn argraffu'r is-rwydwaith y mae un penodol yn ei ddefnyddio. Ailadroddwch ar gyfer pob rhwydwaith a ddiffinnir gan y defnyddiwr, oherwydd mae prosiectau Compose yn creu eu rhai eu hunain ac mae --subnet penodol mewn ffeil compose yn osgoi'r pwll yn gyfan gwbl.
Y pwynt olaf hwnnw yw'r un sy'n goroesi'r mudo. Nid yw newid pwll yn atal cydweithiwr rhag pinio 172.18.0.0/16 mewn ffeil compose, ac mae'r gwrthdaro yn dychwelyd gydag awdur gwahanol.
Mudo'r hyn sydd eisoes yn bodoli
Mae mudo rhwydweithiau presennol yn weithrediad ar wahân, a gefnogir. Rhaid ail-greu pob rhwydwaith yr effeithir arno gyda'r is-rwydwaith newydd, sy'n golygu datgysylltu ac ailgysylltu'r cynwysyddion sy'n ei defnyddio, ac mae ail-greu rhwydwaith yn dileu ei atodiadau cynwysyddion yn hytrach na'u symud. Cadwch y cyfrolau a'r ffurfweddiad, a thriniwch yr ail-greu fel defnyddio yn hytrach nag ailosod data. Gwnewch y gwaith mewn ffenestr gynnal a chadw, oherwydd mae'r cynwysyddion ar rwydwaith a ail-grëwyd yn ailgychwyn p'un a gynlluniwyd hynny ai peidio.
Dilynwch y ffurfweddiad daemon a'r weithdrefn ailgychwyn a dogfennwyd, a chydlynnwch yr amhariad. Ar westeiwr ag un daemon, mae systemctl restart docker yn ailgychwyn cynwysyddion yn ôl eu polisïau ailgychwyn, ac mae hynny'n ymddygiad sy'n werth ei wybod o flaen llaw yn hytrach nag ar ôl.
Yna gwiriwch y ddwy beth y dylai'r newid fod wedi'u trwsio. Archwiliwch yr is-rwydwaith newydd gyda docker network inspect a chadarnhewch ei fod o fewn y sylfaen a ddewiswyd, yna gwiriwch y llwybr i gyrchfan VPN gynrychioliadol gyda ip route get 10.20.30.40 ac wiriwch ei fod yn mynd i'r man rydych yn ei ddisgwyl yn hytrach nag i bont. Profwch ddarganfod gwasanaethau a chyfathrebu cynhwysydd-i-gynhwysydd hefyd, oherwydd gall rhwydwaith a ail-grëwyd â chyfeiriadau gwahanol dorri datrys enwau mewn ffyrdd sy'n edrych fel nam ar y rhaglen.
Beth sy'n dal i dorri wedyn
Y rhan barhaus yw'r cofnod. Cadwch y rhestr ddyrannu, y sylfaen a'r maint a ddewiswyd, a'r rhwydweithiau a ail-grëwyd yn yr un man â'r defnydd.
Nid yw ystod yn breifat yn golygu ei bod yn ddiogel i'w hailddefnyddio. Mae 10.0.0.0/8 yn breifat ac hefyd y peth mwyaf tebygol o fod eisoes yn cael ei ddefnyddio yn rhywle ar y llwybr, a dyna pam mai archeb benodol yw'r ateb yn hytrach na ffafriaeth i un bloc. Mae dogfennaeth rhwydwaith Docker yn disgrifio dyraniad is-rwydweithiau awtomatig a meysydd y pwll. Dewiswch yr ystod o'r hyn y mae'n rhaid i chi ei gyrraedd, nid o'r hyn sy'n edrych yn daclus.