D'Ännerung vum Docker-Standardpool nummeréiert Netzwierker net nei
D'Ännerung vun default-address-pools regéiert nëmmen nei automatesch Netzwierker. Inventariséiert d'Beräicher déi Dir schonn benotzt, a plangt duerno d'Migratioun vun deem wat schonn leeft.
D'Ännerung vun default-address-pools nummeréiert d'Netzwierker déi Dir schonn hutt net nei, an dat ze erwaarden ass genau de Wee wéi e suergfältege Plang zu enger onerwaarter Stéierung gëtt. D'Astellung regéiert d'automatesch Zoudeelung fir Netzwierker déi entstinn nodeems den Daemon mat der neier Konfiguratioun nei gestart gouf. Alles wat schonn leeft behält d'Subnetz dat et kritt huet, well dës Subnetz Deel vun der gespäicherter Definitioun vum Netzwierk ass. De Mythos ass bequem well en suggeréiert datt eng eenzeg Ännerung all Iwwerlappung reparéiert, an d'Realitéit ass eng Aarbecht an zwéin Deeler: wielt e Beräich deen tatsächlech fräi ass, a migréiert duerno d'Netzwierker déi et net sinn.
De Mythos: eng Poolännerung reparéiert d'Iwwerlappung
De Mythos huet eng bestëmmte Form. Een liest datt den Docker-Standardpool geännert ka ginn, ännert en, startet den Daemon nei an schléisst doraus datt d'Container-Netzwierk net méi mam Büro-VPN kollidéiert. Dat aalt Netzwierk ass nach do, nach ugeschloss, an hält nach d'Adress déi kollidéiert.
Wat sech geännert huet ass dat zukünftegt Verhalen vum Zouteeler, wat wierklech nëtzlech a wierklech begrenzt ass. Nei Netzwierker déi ouni explizitt --subnet entstinn ginn aus dem neie Pool geschnidden; déi existent waren ni an deem Pool. En Neistart baut Netzwierker net nei op an beweegt Container net tëschent hinnen. Wann d'Symptom no der Ännerung weider besteet, war d'Ännerung richteg an d'Diagnos onkomplett.
Basisberäich an zougedeelte Prefix
D'Konfiguratioun huet zwee Felder déi een einfach verwiesselt. base ass de Beräich aus deem den Zouteeler schneit, an size ass d'Prefixlängt vun all zougedeeltem Netzwierk, also verdeelt eng Basis 10.10.0.0/16 mat Gréisst 24 /24 bannent deem /16. Wann een d'Rollen ëmdréit entsteet en Zoudeelungsmuster dat Dir net wollt, meeschtens een eenzegt risegt Netzwierk oder en erschöpfte Pool.
E Pool ass eng Reservatioun, keen Beweis. Docker ëmgeet Konflikter déi et an der Routingtabell vum Host gesäit, an et kann e VPN net gesinn mat deem Dir nach net verbonnen sidd.
Dës Limitatioun ass de ganzen Grond bewosst ze wielen. D'Beräicher fir ze vergläichen sinn déi déi den Host muss erreechen: de Büro-LAN, d'intern Subnetze vum Firmen-VPN, d'Prefixe vum Labo oder Staging an all aneren Container-Host um selwechten Overlay. Schreift se als CIDR op ier Dir den Daemon beréiert, well eng Lëscht am Kapp wäert genau déi verpassen déi zielt. Wielt duerno eng Basis déi sech mat kengem vun hinnen iwwerlappt, an haalt d'Lëscht beim Deployment, sou datt déi nächst Persoun d'Übung net aus dem Gedächtnis widderhëlt.
Inventariséiert ier Dir wielt
Inventariséiert als éischt wat existéiert. docker network ls lëscht d'Netzwierker op, an docker network inspect bridge -f '{{.IPAM.Config}}' dréckt d'Subnetz aus déi e bestëmmt Netzwierk benotzt. Widderhëlt dat fir all vum Benotzer definéiert Netzwierk, well Compose-Projeten hir eege schafen an en explizitt --subnet an enger compose-Datei ëmgeet de Pool komplett.
Dee leschte Punkt ass deen deen d'Migratioun iwwerlieft. Eng Poolännerung hält e Kolleg net dovun of 172.18.0.0/16 an enger compose-Datei festzehalen, an de Konflikt kënnt mat engem aneren Auteur zréck.
Migréiere wat schonn existéiert
D'Migratioun vun existente Netzwierker ass eng separat, ënnerstëtzt Operatioun. All betraffent Netzwierk muss mat der neier Subnetz nei erstallt ginn, wat heescht d'Container déi et benotzen ofzekoppelen an erëm unzeschléissen, an d'Neierstelle vun engem Netzwierk entfernt seng Containerkupplungen amplaz se ze verréckelen. Erhaalt Volumen a Konfiguratioun an behandelt d'Neierstelle als Deployment an net als Datenreset. Maacht d'Aarbecht an engem Maintenance-Fënster, well d'Container op engem nei erstallten Netzwierk nei starten egal ob Dir et geplangt hutt.
Follegt der dokumentéierter Daemon-Konfiguratioun an dem Neistartprozedur an koordinéiert d'Ënnerbriechung. Op engem Host mat engem eenzegen Daemon startet systemctl restart docker Container no hire Neistartpolitiken nei, an dat ass e Verhalen dat ee virun an net duerno wësse sollt.
Verifizéiert duerno déi zwee Saachen déi d'Ännerung sollt reparéieren. Ënnersicht déi nei Subnetz mat docker network inspect a bestätegt datt se bannent der gewielter Basis läit, iwwerpréift duerno d'Route zu engem representativen VPN-Zil mat ip route get 10.20.30.40 an bestätegt datt se dohi geet wou Dir erwaart an net an eng Bréck. Testt och d'Servicediscovery an d'Kommunikatioun tëschent Container, well en Netzwierk dat mat enger anerer Adresséierung nei erstallt gouf d'Nimmopliesung op eng Manéier ka briechen déi wéi e Applikatiounsfehler ausgesäit.
Wat duerno nach bricht
Den dauerhaften Deel ass de Rekord. Haalt d'Zoudeelungslëscht, déi gewielt Basis a Gréisst, an d'nei erstallten Netzwierker op der selwechter Plaz wéi d'Deployment.
Datt e Beräich privat ass mécht en net sécher fir d'Erëmbenotzen. 10.0.0.0/8 ass privat an och dat wat am warscheinlechsten schonn irgendwou um Wee benotzt gëtt, dofir ass d'Äntwert eng spezifesch Reservatioun an net eng Preferenz fir ee Block. D'Docker-Netzwierkdokumentatioun beschreift d'automatesch Subnetzzoudeelung an d'Poolfelder. Wielt de Beräich no deem wat Dir musst erreechen, net no deem wat uerdentlech ausgesäit.