L-iżball ta' sovrappożizzjoni tal-pool f'Docker mhuwiex problema ta' rotta VPN
Żball wieħed iseħħ waqt l-allokazzjoni, l-ieħor wara li tinbidel rotta. Aqra s-subnets tal-IPAM qabel ma tmiss indirizzi tal-kontenituri jew it-tunnel.
Docker jirrifjuta li joħloq network bil-messaġġ li l-pool jissovrapponi ma' ieħor f'dan l-ispazju tal-indirizzi, u xi ħadd jiddeċiedi li r-rotta VPN trid tkun il-kawża. Ma tistax tkun. Dak l-iżball jiġi prodott waqt li pool ikun qed jiġi allokat, qabel ma teżisti pakkett wieħed, u rotta tal-kernel manwali m'għandha l-ebda influwenza fuqu. Il-VPN jgħodd pass wara, meta kontenitur li diġà għandu indirizz ma jibqax aċċessibbli wara li tidher rotta. Żewġ problemi, żewġ settijiet ta' provi, u t-taħlit tagħhom jipproduċi bidla li ma tsewwi lil ħadd minnhom.
Żewġ żbalji li jixbhu lil xulxin
L-iżball tal-allokazzjoni huwa aritmetiku. Docker iqabbel is-subnet li tlabt ma' dawk li diġà qed jamministra, isib intersezzjoni u jirrifjuta. Għadha ma qed taħdem xejn, għalhekk m'hemmx rotta, lanqas kontenitur u lanqas traffiku x'jiġi spezzjonat.
Is-sintomu waqt it-tħaddim hija kwistjoni ta' aċċessabbiltà. Kontenitur li kien iwieġeb ilbieraħ issa ma jwiġibx, u xi ħaġa nbidlet fit-tabella tar-routing tal-host. Il-kontenitur għadu jżomm l-indirizz tiegħu; il-kwistjoni hija liema triq jieħu dak l-indirizz.
It-tnejn huma problemi tal-pjan tal-indirizzi. Wieħed biss minnhom huwa problema ta' Docker.
Aqra l-pools allokati l-ewwel
Elenka n-networks u spezzjona dawk li jistgħu jaqtgħu lil xulxin. Is-subnet jgħix fil-konfigurazzjoni tal-IPAM, u l-kontenituri mehmuża huma elenkati separatament:
docker network ls
docker network inspect EXISTING_NETWORK
Qabbel dak is-subnet mal-pool li titlob in-network il-ġdid, u ftakar li Compose joħloq in-network default tiegħu għal kull proġett. Kunflitt ma' proġett li insejt jidher eżatt bħal kunflitt mad-daemon.
ipv4_address statiku fuq servizz huwa l-indirizz ta' kontenitur wieħed, mhux id-definizzjoni tal-pool. Li tbiddlu ma tneħħix sovrappożizzjoni, għax is-sovrappożizzjoni hija bejn subnets tan-network u mhux bejn il-kontenituri. Ir-referenza network-create ta' Docker teħtieġ subnets li ma jissovrapponux għall-allokazzjoni ordinarja permezz ta' pont u tiddokumenta kif tagħżel waħda b'mod espliċitu.
Agħżel prefiss li jgħaddi mill-VPN
Il-kunflitt immedjat u r-rotta futura jiġu deċiżi mill-istess għażla, għalhekk agħmilha darba. Qabbel il-firxa kandidata mal-LAN, ma' kull destinazzjoni VPN li l-host jista' jilħaq, u ma' kwalunkwe overlay ieħor li jkun qed jintuża.
Prefiss li jissodisfa lil Docker u jaħbat man-network imbiegħed jagħtik kontenitur li jibda nadif u jsir mhux aċċessibbli fil-mument li t-tunnel jogħla. Dak huwa t-tieni żball f'dan l-artiklu, u huwa ħafna aktar diffiċli li tiġi dijanjostikata aktar tard milli li tiġi evitata issa.
Ikteb il-firxiet magħżula f'post fejn il-proġett li jmiss ikun jista' jaqrahom. Reġistru ta' linja waħda ta' prefissi allokati huwa rħas minn ġimgħa ta' timeout bla spjegazzjoni.
Irtira jew ibdel network b'mod deliberat
Għal network Compose ġdid, issettja l-prefiss mhux użat fil-konfigurazzjoni tal-IPAM tan-network. Għal proġett eżistenti, ippjana r-rinumrar mill-ġdid: indirizzi fissi, servizzi dipendenti u l-pass tat-tħolqien mill-ġdid tan-network kollha jridu jitqiesu, għax l-editjar ta' YAML ma jirrinumrax network li jkun għaddej.
Jekk network skadut jippossjedi l-allokazzjoni kunfliġġenti, spezzjona min huwa mehmuż qabel ma tneħħiha. docker network rm jirrifjuta sakemm jeżistu endpoints attivi, u docker stop jieħu ismijiet jew IDs tal-kontenituri minflok isem ta' network. Li twaqqaf kontenitur lanqas ma jneħħi d-definizzjoni tan-network li żżomm il-pool.
Prune wiesgħa mhuwiex għodda ta' dijanjosi. Jasal għal proġetti mhux relatati u jeqred il-provi li kont se tiġbor.
Il-pools default jgħinu biss l-allokazzjoni li jmiss
Is-setting tal-pool tal-indirizzi default tad-daemon ittejjeb l-allokazzjonijiet awtomatiċi futuri billi żżommhom barra mill-firxiet li tirriżerva. Hija ma tindirizzax mill-ġdid b'mod retroattiv networks li diġà jeżistu, u ma ssolvix subnet espliċitu li jissovrapponi ma' subnet espliċitu ieħor.
Ittratta dak is-setting bħala bidla separata u ppjanata bir-restart tagħha stess, mhux bħala parti mit-tiswija ta' proġett wieħed. It-taħlit tat-tnejn ifisser li restart tad-daemon jaqa' fin-nofs ta' investigazzjoni mhux relatata. Ippjanah fi tieqa tiegħu stess. Imbagħad ikkonferma li allokazzjoni awtomatika ġdida fil-fatt taqa' barra mill-firxiet li rriżervajt.
Ladarba l-ħolqien jirnexxi, ivverifika s-subnet li fil-fatt qed jaħdem u mbagħad agħmel talba waħda reali tal-applikazzjoni bil-VPN fl-istat maħsub tiegħu. Jekk il-pool huwa validu u l-aċċess għadu jonqos, ix-xogħol li jifdal huwa l-għażla tar-rotta, il-filtrazzjoni u t-triq tar-ritorn. Dik hija investigazzjoni waqt it-tħaddim, u ma tagħmilx l-iżball tal-allokazzjoni bla sens b'mod retroattiv.
Ordni tax-xogħol: aqra l-pools allokati, agħżel prefiss li jevita kemm lil Docker kif ukoll id-destinazzjonijiet VPN, oħloq in-network mill-ġdid b'mod deliberat, imbagħad ittestja talba waħda bit-tunnel mogħli.