Tri rheolwr a phum gweithiwr ar draws dau safle, wedi'u cysylltu gan dwnnel, ac mae docker service ls yn dangos tasgau'n rhedeg ar y ddwy ochr tra bo galwadau rhwng gwasanaethau'n amseru allan. Nid oes dim yng nghofnodion Swarm yn edrych o'i le. Mae'r cyfuniad hwnnw'n arwydd o broblem yn y plân data: fe wnaeth y plân rheoli ddod o hyd i'r nodau, ac ni wnaeth y fframiau amgáu y daith o gwbl.

Rhaid i'r mesh fodoli cyn i'r overlay wneud

Mae overlay Swarm yn gwthio fframiau amgáu'n uniongyrchol rhwng cyfeiriadau nodau, sy'n golygu bod angen cyfeiriad ar bob nod y gall pob nod arall ei gyrraedd heb gyfieithu, ar y rhyngwyneb y mae'r twnnel yn ei ddarparu. Nid yw twnnel sy'n cario cleientiaid yn unig i borthladd cyhoeddedig yn ddigon. Rhaid i'r haen isaf lwybraethu o nod i nod i'r ddau gyfeiriad.

Profwch hynny cyn cyffwrdd â Swarm. O bob nod, gwiriwch y llwybr i gyfeiriad twnnel partner, pingiwch ef, ac yna profwch y porthladd rheoli. Os yw ping yn gweithio a'r porthladd ddim, mae'r twnnel yn iawn ac mae hidlydd yn y ffordd.

ip -brief address
ip route get 10.20.0.12
ping -c3 10.20.0.12
nc -vz 10.20.0.12 2377

Os yw'r llwybr yn pwyntio at y rhyngwyneb ffisegol yn lle tun0 neu wg0, bydd yr overlay yn amgáu i gyfeiriad na all y safle pell ei gyrraedd, a bydd y symptom yn edrych fel colli pecynnau.

Gwiriwch pa gyfeiriad y mae pob nod yn ei hysbysebu

Mae'r daemon yn hysbysebu un cyfeiriad, ac mae partneriaid yn ei ddefnyddio ar gyfer y plân data. Ar westeiwr aml-rwydwaith mae'n hawdd hysbysebu'r cyfeiriad LAN neu gyhoeddus tra bod y twnnel yn cario rhywbeth arall. Archwiliwch ef yn lle tybio, a'i binio wrth ymuno gyda --advertise-addr pan fo'r rhagosodedig yn anghywir. Mae nod sy'n hysbysebu cyfeiriad na all ond ef ei gyrraedd yn ymuno â'r swarm beth bynnag, ac mae'r methiant yn ymddangos yn ddiweddarach fel gwasanaethau na allant siarad ar draws safleoedd.

Nid yw newid y cyfeiriad a hysbysebir yn ddiweddarach yn olygu golygu ffurfwedd, oherwydd rhaid i'r nod adael ac ailymuno.

Cofnodwch y cyfeiriad a hysbysebir fesul nod yn eich nodiadau, oherwydd mae'n esbonio'r rhan fwyaf o fethiannau anghymesur.

Masquerade yw'r drwgdybiaeth arferol

Pan fo porth yn eistedd rhwng y nodau a'r twnnel, y camgymeriad cyffredin yw masquerade popeth sy'n gadael y rhyngwyneb ffisegol. Mae hynny'n ailysgrifennu cyfeiriadau mewnol yr overlay hefyd, felly mae pob partner yn ymddangos fel pe bai'n dod o'r porth ac mae partneriaid VXLAN yn stopio adnabod ei gilydd. Y canlyniad yw traffig amgáu ar goll neu un ffordd tra bod pingiau cyffredin yn dal i weithio.

Llwybraethwch ragddodiad yr overlay drwy'r porth a'i adael heb ei gyfieithu. Os oes gwir angen cyfieithu ar gyfer rhagddodiad arall, cyfyngwch ef yno ac byth i'r amrediad y mae'r overlay yn ei ddefnyddio.

ip route add 172.16.0.0/22 via 10.20.0.1
iptables -t nat -I POSTROUTING -o tun0 -s 172.16.0.0/22 -j ACCEPT

Gwiriwch drefn y rheolau yn ogystal â'r testun, oherwydd mae MASQUERADE eang yn gynharach yn y gadwyn yn trechu eithriad cul yn ddiweddarach.

Mae VXLAN angen lle yn y pecyn

Mae VXLAN yn ychwanegu 50 beit at y fframiau y mae'n eu cario. Mae haen isaf o 1500 beit yn cario ffrâm fewnol o 1500 beit yn cynhyrchu pecyn amgáu na fydd unrhyw lwybr yn ei ddosbarthu, ac mae'r methiant yn edrych fel darganfod gwasanaeth ysbeidiol yn hytrach na phroblem maint. Naill ai gostyngwch MTU'r twnnel ar y ddau ben neu gosodwch MTU'r overlay fel bod y gyrrwr yn hysbysebu llwythi defnyddiol sy'n ffitio.

docker network create --driver overlay --attachable --opt com.docker.network.driver.mtu=1400 swarm-overlay

Mae'r rhwydwaith ingress yn cael ei greu'n awtomatig, felly mae ei newid yn golygu ei dynnu a'i ail-greu yn hytrach na'i olygu yn ei le.

Os byddwch yn trwsio un ochr i'r twnnel yn unig, yr MTU llai sydd o hyd i fod yr un sy'n cyfrif.

Gwyliwch y plân data, nid y cofnodion

Cipiwch y porthladd VXLAN ar y ddau ben. Mae fframiau'n gadael un ochr ac yn cyrraedd y llall yn golygu bod yr haen isaf yn iawn a bod y broblem tu fewn i'r overlay. Mae fframiau'n gadael heb gyrraedd byth yn golygu llwybr neu hidlydd. Mae fframiau nad ydynt byth yn gadael yn golygu bod y cyfeiriad ffynhonnell yn anghywir.

Mae methiannau darganfod gwasanaeth sy'n clirio ar ôl ychydig eiliadau fel arfer yn pwyntio at y gyllideb pecynnau neu lwybr sy'n fflapio, nid at gwrorwm raft.

Cadwch y cipiad o ffenestr weithredol, oherwydd mae'i gymharu â'r un toredig yn gyflymach na ailddarllen ffurfwedd.

Erthyglau cysylltiedig