It-tibdil tal-pool default ta' Docker ma jerġax jinnumera n-networks
It-tibdil ta' default-address-pools jirregola biss networks awtomatiċi ġodda. Inventarja l-firxiet li diġà tuża, imbagħad ippjana l-migrazzjoni għal dak li diġà qed jaħdem.
It-tibdil ta' default-address-pools ma jerġax jinnumera n-networks li diġà għandek, u li tistenna dan huwa eżattament kif pjan attent isir waqfa mhux mistennija. Is-setting jirregola l-allokazzjoni awtomatika għan-networks maħluqa wara li d-daemon jerġa' jibda bil-konfigurazzjoni l-ġdida. Kull ma diġà qed jaħdem iżomm is-subnet li ngħata, għax dak is-subnet huwa parti mid-definizzjoni maħżuna tan-network. Il-mit huwa konvenjenti għax jissuġġerixxi li edit wieħed isewwi kull sovrappożizzjoni, u r-realtà hija xogħol f'żewġ partijiet: agħżel firxa li hija tassew ħielsa, imbagħad emigra n-networks li mhumiex.
Il-mit: tibdil wieħed tal-pool isewwi s-sovrappożizzjoni
Il-mit għandu forma speċifika. Xi ħadd jaqra li l-pool default ta' Docker jista' jinbidel, ibiddlu, jerġa' jibda d-daemon u jikkonkludi li n-network tal-kontenituri m'għadux jaħbat mal-VPN tal-uffiċċju. In-network antik għadu hemm, għadu mqabbad u għadu jżomm l-indirizz li jaħbat.
Dak li nbidel huwa l-imġiba futura tal-allokatur, li hija tassew utli u tassew limitata. Networks ġodda maħluqa mingħajr --subnet espliċitu jinqatgħu mill-pool il-ġdid; dawk eżistenti qatt ma kienu f'dak il-pool. It-tnedija mill-ġdid ma tibnix networks mill-ġdid u ma tmexxix kontenituri bejniethom. Jekk is-sintomu jippersisti wara t-tibdil, it-tibdil kien reali u d-dijanjosi kienet nieqsa.
Firxa bażika u prefiss allokat
Il-konfigurazzjoni għandha żewġ oqsma li huwa faċli tħawwadhom. base hija l-firxa li minnha l-allokatur jaqta', u size hija t-tul tal-prefiss ta' kull network allokat, għalhekk bażi 10.10.0.0/16 b'daqs 24 tqassam /24 ġewwa dik il-/16. Jekk taqleb ir-rwoli tikseb mudell ta' allokazzjoni li ma ridtx, normalment network wieħed enormi jew pool eżawrit.
Pool huwa riżerva, mhux prova. Docker jevita l-konflitti li jara fit-tabella tal-irrotar tal-host, u ma jistax jara VPN li għadek ma qabbadx miegħu.
Dik il-limitazzjoni hija r-raġuni kollha biex tagħżel b'mod deliberat. Il-firxiet li għandhom jiġu mqabbla huma dawk li l-host irid jilħaq: il-LAN tal-uffiċċju, is-subnets interni tal-VPN korporattiv, il-prefissi tal-laboratorju jew tal-istaging u kull host ieħor tal-kontenituri fuq l-istess overlay. Iktebhom bħala CIDR qabel ma tmiss id-daemon, għax lista f'rasek se taqbeż eżatt dik li tiswa. Imbagħad agħżel bażi li ma tikkoinċidix ma' ebda waħda minnhom, u żomm il-lista mal-implimentazzjoni biex il-persuna li jmiss ma terġax tagħmel l-eżerċizzju mill-memorja.
Inventarja qabel tagħżel
L-ewwel inventarja dak li jeżisti. docker network ls jelenka n-networks, u docker network inspect bridge -f '{{.IPAM.Config}}' jistampa s-subnet li tuża network partikolari. Irrepeti għal kull network definit mill-utent, għax il-proġetti Compose joħolqu tagħhom u --subnet espliċitu f'fajl compose jaqbeż il-pool għal kollox.
Dak il-punt l-aħħar huwa dak li jgħaddi mill-migrazzjoni. Tibdil fil-pool ma jwaqqafx kollega milli jwaħħal 172.18.0.0/16 f'fajl compose, u l-konflitt jerġa' lura b'awtur ieħor.
Il-migrazzjoni ta' dak li diġà jeżisti
Il-migrazzjoni ta' networks eżistenti hija operazzjoni separata u appoġġata. Kull network affettwat irid jinħoloq mill-ġdid bis-subnet il-ġdid, li jfisser li tiskonnettja u terġa' tikkonnettja l-kontenituri li jużawh, u li toħloq network mill-ġdid tneħħi l-attakki tal-kontenituri tiegħu minflok ma tmexxihom. Ippreserva l-volumi u l-konfigurazzjoni u ittratta l-ħolqien mill-ġdid bħala implimentazzjoni, mhux bħala reset tad-data. Agħmel ix-xogħol f'tieqa ta' manutenzjoni, għax il-kontenituri fuq network maħluq mill-ġdid jerġgħu jibdew kemm jekk ippjanajt dan kif ukoll jekk le.
Segwi l-konfigurazzjoni tad-daemon u l-proċedura tat-tnedija mill-ġdid dokumentati, u kkoordina l-interruzzjoni. Fuq host b'daemon wieħed, systemctl restart docker jerġa' jibda l-kontenituri skont il-politiki tagħhom ta' tnedija mill-ġdid, u din hija mġiba li tiswa li tkun taf qabel u mhux wara.
Imbagħad ivverifika ż-żewġ affarijiet li t-tibdil kellu jsewwi. Spezzjona s-subnet il-ġdid b'docker network inspect u kkonferma li jinsab fil-bażi magħżula, imbagħad iċċekkja r-rotta lejn destinazzjoni VPN rappreżentattiva b'ip route get 10.20.30.40 u ikkonferma li tmur fejn tistenna u mhux f'pont. Ittestja wkoll l-iskoperta tas-servizzi u l-komunikazzjoni bejn il-kontenituri, għax network maħluq mill-ġdid b'indirizzar differenti jista' jkisser ir-riżoluzzjoni tal-ismijiet b'modi li jidhru bħala bug tal-applikazzjoni.
X'għadu jinqasam wara
Il-parti dejjiema hija r-rekord. Żomm il-lista tal-allokazzjonijiet, il-bażi u d-daqs magħżula, u n-networks maħluqa mill-ġdid fl-istess post tal-implimentazzjoni.
Li firxa tkun privata ma tagħmilhiex sigura għall-użu mill-ġdid. 10.0.0.0/8 hija privata u wkoll l-iktar ħaġa li x'aktarx diġà qed tintuża xi mkien fit-triq, għalhekk it-tweġiba hija riżerva speċifika u mhux preferenza għal blokk wieħed. Id-dokumentazzjoni tan-networks ta' Docker tiddeskrivi l-allokazzjoni awtomatika tas-subnets u l-oqsma tal-pool. Agħżel il-firxa minn dak li trid tilħaq, mhux minn dak li jidher pulit.