Docker Swarm oo mara VPN: hawlahu way socdaan, wicitaannada adeeggu way fashilmaan
Hawlaha waxay ka socdaan labada goobood, wicitaannada u dhexeeya adeegyaduna way dhacaan. Overlay wuxuu u baahan yahay waddooyin node-ilaa-node, ciwaanno aan la tarjumin iyo meel 50 bayt VXLAN ah.
Saddex maareeye iyo shan shaqaale oo ku kala yaalla laba goobood, oo tunnel ku xiran, docker service ls-na wuxuu muujinayaa hawlo ka socda labada dhinac halka wicitaannada u dhexeeya adeegyadu dhacaan. Waxba kuma muuqdaan khalad kasta diiwaannada Swarm. Isku-dhafkaas waa calaamadda dhibaato ku taal qaybta xogta: qaybta kontoroolka ayaa helay nodes-ka, iyo fareemada la duubay marnaba ma aysan samayn safarka.
Mesh waa inuu jiraa ka hor overlay
Overlay-ga Swarm wuxuu fareemada la duubay si toos ah u dhex dhigaa ciwaannada node, taas oo macnaheedu yahay node kastaa wuxuu u baahan yahay ciwaan ay node kasta oo kale gaadhi karto tarjumaad la'aan, interface-ka tunnel-ku bixiyo. Tunnel kaliya macaamiisha u qaada deked la daabacay kuma filna. Qaybta hoose waa inay waddo ka samaysaa node ilaa node labada jiho.
Tani tijaabi ka hor inta aadan taaban Swarm. Node kasta, hubi waddada ciwaanka tunnel-ka ee lammaanaha, ping ku samee, ka dibna tijaabi dekedda kontoroolka. Haddii ping shaqeeyo oo dekeddu shaqayn, tunnel-ku waa hagaagsan yahay oo shaandhayn ayaa jidka ku jirta.
ip -brief address
ip route get 10.20.0.12
ping -c3 10.20.0.12
nc -vz 10.20.0.12 2377
Haddii waddadu tilmaanto interface-ka jirka halkii tun0 ama wg0, overlay waxa uu ku duubi doonaa ciwaan aan goobta fog gaadhi karin, calaamaduna waxay u ekaan doontaa luminta baakadaha.
Hubi ciwaanka ay node kastaa ku dhawaaqo
Daemon wuxuu ku dhawaaqaa hal ciwaan, lammaanuhuna waxay u isticmaalaan qaybta xogta. Martigeliyaha shabakado badan leh way fududahay inaad ku dhawaaqdo ciwaanka LAN ama kan guud inta tunnel-ku qaadanayo wax kale. Baadh halkii aad ka qiyaasi lahayd, oo ku dheji markaad ku biirto --advertise-addr marka caadigu khaldan yahay. Node ku dhawaaqa ciwaan uu kaliya gaadhi karo wali wuu ku biiraa swarm, fashilkaana wuxuu u muuqdaa dambe adeegyo aan isgaadhi karin goobaha dhexdooda.
Beddelidda ciwaanka la dhawaaqay dambe ma aha wax ka beddelid habaynta, maxaa yeelay node waa inuu baxo oo mar kale ku biiro.
Qor ciwaanka la dhawaaqay node kasta qoraalladaada, maxaa yeelay waxa uu sharraxaa inta badan fashilalka aan isle'eg ahayn.
Masquerade waa dembiilaha caadiga ah
Marka gateway uu dhex fadhiisto nodes-ka iyo tunnel-ka, khaladka caadiga ah waa in masquerade lagu sameeyo wax kasta oo ka baxa interface-ka jirka. Taasi waxay sidoo kale dib u qortaa ciwaannada gudaha overlay, sidaas darteed lammaane kastaa wuxuu u muuqdaa mid ka yimid gateway oo lammaanayaasha VXLAN way joojiyaan is aqoonsashada. Natiijadu waa taraafik la duubay oo maqan ama hal-jiho ah inta ping-ga caadiga ah wali shaqeeyo.
Waddada horgalaha overlay ka mar gateway oo ka tag tarjumaad la'aan. Haddii tarjumaad run ahaantii loo baahan yahay horgale kale, ku xaddid halkaas oo marnaba ha ku dejinin xadka overlay isticmaalo.
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
Hubi nidaamka xeerarka iyo sidoo kale qoraalka, maxaa yeelay MASQUERADE ballaaran oo hore silsiladda ku jira wuxuu ka adkaadaa ka reebban yar oo dambe.
VXLAN wuxuu u baahan yahay meel baakadda dhexdeeda
VXLAN wuxuu 50 bayt ku darayaa fareemada uu qaado. Qaybta hoose ee 1500 bayt oo qaadda fareem gudaha 1500 bayt waxay soo saartaa baakad la duubay oo aan jidna keeni doonin, fashilkuna wuxuu u ekaanayaa ogaanshaha adeegga oo googo'an halkii uu ahaan lahaa dhibaato cabbir. Ama hoos u dhig MTU-ga tunnel-ka labada daraf ama dhig MTU-ga overlay si darawalku u dhawaaqo culeys ku habboon.
docker network create --driver overlay --attachable --opt com.docker.network.driver.mtu=1400 swarm-overlay
Shabakadda ingress si otomaatig ah ayaa loo abuuraa, sidaas darteed beddelkeedu waa in la saaro oo dib loo abuuro, ma aha in meesha laga tafatiro.
Haddii aad hagaajiso hal dhinac oo tunnel-ka kaliya, MTU-ga yar wali waa kan muhiimka ah.
Daawo qaybta xogta, ma aha diiwaannada
Qabo dekedda VXLAN labada daraf. Fareemada ka baxa hal dhinac oo yimaada dhinaca kale waxay ka dhigan yihiin in qaybta hoose ay hagaagsan tahay oo dhibaatadu ay ku jirto overlay gudihiisa. Fareemada baxa oo marnaba yimaada waxay ka dhigan yihiin waddo ama shaandhayn. Fareemada aan marnaba bixin waxay ka dhigan yihiin in ciwaanka isha uu khaldan yahay.
Fashilalka ogaanshaha adeegga ee ka baxa dhowr ilbiriqsi ka dib waxay inta badan tilmaamaan miisaaniyadda baakadaha ama waddo gariiraysa, ma aha kooramka raft.
Kaydi qabashada laga helay daaqad shaqaynaysa, maxaa yeelay in lala barbardhigo tan jaban ayaa ka dhaqso badan dib u akhrinta habaynta.