Docker Swarm nipasẹ VPN: àwọn iṣẹ́ ń ṣiṣẹ́, àwọn ìpè iṣẹ́ ń kùnà
Àwọn iṣẹ́ ń ṣiṣẹ́ ní àwọn ibi méjèèjì, àwọn ìpè láàárín àwọn iṣẹ́ sì ń parí àkókò. Overlay nílò àwọn ọ̀nà láti node dé node, àwọn àdírẹ́sì tí a kò túmọ̀ àti ààyè fún 50 báìtì VXLAN.
Àwọn olùdarí mẹ́ta àti àwọn òṣìṣẹ́ márùn-ún káàkiri ibi méjì, tí a so pọ̀ pẹ̀lú ọ̀nà abẹ́ ilẹ̀, àti docker service ls ń fi àwọn iṣẹ́ tí ń ṣiṣẹ́ ní ẹ̀gbẹ́ méjèèjì hàn nígbà tí àwọn ìpè láàárín àwọn iṣẹ́ ń parí àkókò. Kò sí ohun tí ó dàbí aṣiṣe nínú àwọn àkọsílẹ̀ Swarm. Àpapọ̀ yẹn ni àmì ìṣòro nínú pẹtẹ́lẹ̀ dátà: pẹtẹ́lẹ̀ ìṣàkóso rí àwọn node, àwọn férémù tí a dì sì kò rìn ìrìnàjò náà rárá.
Mesh gbọ́dọ̀ wà kí overlay tó wà
Overlay Swarm ń ti àwọn férémù tí a dì lọ tààrà láàárín àwọn àdírẹ́sì node, èyí tí ó túmọ̀ pé node kọ̀ọ̀kan nílò àdírẹ́sì tí gbogbo node mìíràn lè dé láìsí ìtúmọ̀, lórí ẹ̀rọ tí ọ̀nà abẹ́ ilẹ̀ ń pèsè. Ọ̀nà abẹ́ ilẹ̀ tí ń gbé àwọn àbáṣeé lọ sí ebute tí a tẹ̀ jáde nìkan kò tó. Ẹ̀yà ìsàlẹ̀ gbọ́dọ̀ dá ọ̀nà láti node dé node ní ẹ̀gbẹ́ méjèèjì.
Dán ìyẹn wò kí o tó fi ọwọ́ kan Swarm. Láti node kọ̀ọ̀kan, ṣàyẹ̀wò ọ̀nà sí àdírẹ́sì ọ̀nà abẹ́ ilẹ̀ ẹlẹ́gbẹ́, ping rẹ̀, kí o sì dán ebute ìṣàkóso wò. Tí ping bá ṣiṣẹ́ tí ebute kò ṣe, ọ̀nà abẹ́ ilẹ̀ wà dáadáa àti àlẹ̀mọ́ kan wà ní ọ̀nà.
ip -brief address
ip route get 10.20.0.12
ping -c3 10.20.0.12
nc -vz 10.20.0.12 2377
Tí ọ̀nà bá tọ́ka sí ẹ̀rọ ti ara dípò tun0 tàbí wg0, overlay yóò dì sí àdírẹ́sì tí ibi tí ó jìnnà kò lè dé, àpẹẹrẹ yóò sì dàbí pàdánù pákẹ́tì.
Ṣàyẹ̀wò àdírẹ́sì tí node kọ̀ọ̀kan ń kéde
Daemon ń kéde àdírẹ́sì kan, àwọn ẹlẹ́gbẹ́ sì ń lò ó fún pẹtẹ́lẹ̀ dátà. Lórí ọ̀gá tí ó ní ọ̀pọ̀lọpọ̀ nẹ́tíwọ́kì ó rọrùn láti kéde àdírẹ́sì LAN tàbí ti gbogbo ènìyàn nígbà tí ọ̀nà abẹ́ ilẹ̀ ń gbé nnkan mìíràn. Ṣàyẹ̀wò rẹ̀ dípò ìrònú, kí o sì fi í mọ́lẹ̀ nígbà ìdàpọ̀ pẹ̀lú --advertise-addr nígbà tí ìpilẹ̀ṣẹ̀ kò tọ́. Node tí ń kéde àdírẹ́sì tí òun nìkan lè dé yóò ṣì darapọ̀ mọ́ swarm, àìṣeéṣe yóò sì farahàn ní ìgbà tó ń bọ̀ gẹ́gẹ́ bi àwọn iṣẹ́ tí kò lè sọ̀rọ̀ káàkiri àwọn ibi.
Yíyí àdírẹ́sì tí a kéde padà ní ìgbà tó ń bọ̀ kì í ṣe àtúnṣe ìṣètò, nítorí node gbọ́dọ̀ jáde kí ó sì darapọ̀ mọ́ ọn lẹ́ẹ̀kan sí.
Kọ àdírẹ́sì tí a kéde fún node kọ̀ọ̀kan sínú àwọn àkọsílẹ̀ rẹ, nítorí ó ń ṣàlàyé ọ̀pọ̀lọpọ̀ àwọn àìṣeéṣe aláìdọ́gba.
Masquerade ni ẹlẹ́bi tí ó wọ́pọ̀
Nígbà tí ẹnubodè bá wà láàárín àwọn node àti ọ̀nà abẹ́ ilẹ̀, àṣìṣe tí ó wọ́pọ̀ ni láti fi masquerade sí gbogbo nnkan tí ó jáde kúrò nínú ẹ̀rọ ti ara. Ìyẹn tún ń kọ àwọn àdírẹ́sì inú overlay, nítorí náà ẹlẹ́gbẹ́ kọ̀ọ̀kan dàbí ẹni tí ó ti ẹnubodè wá àwọn ẹlẹ́gbẹ́ VXLAN sì dá mímọ̀ ara wọn dúró. Àbájáde ni lílọ tí ó sọnù tàbí tí ó kan ẹ̀gbẹ́ kan ṣoṣo tí a dì, nígbà tí ping lasan ṣì ń ṣiṣẹ́.
Dá ọ̀nà ìpìlẹ̀ overlay kọjá ẹnubodè kí o sì fi í sílẹ̀ láìtúmọ̀. Tí ìtúmọ̀ bá jẹ́ dandan fún ìpìlẹ̀ mìíràn, fi í mọ́ ibẹ̀ nìkan, kí o má ṣe fi sí ààlà tí overlay ń lò rárá.
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
Ṣàyẹ̀wò ìtòlẹ́sẹẹsẹ àwọn òfin àti àkọlé wọn pẹ̀lú, nítorí MASQUERADE gbòòrò tí ó wà ní ìbẹ̀rẹ̀ ẹ̀wọ̀n ń borí ìyàtọ̀ tóóró tí ó wà ní ìparí.
VXLAN nílò ààyè nínú pákẹ́tì
VXLAN ń fi 50 báìtì kún àwọn férémù tí ó ń gbé. Ẹ̀yà ìsàlẹ̀ 1500 báìtì tí ń gbé férémù inú 1500 báìtì ń dá pákẹ́tì tí a dì tí kò sí ọ̀nà tí yóò gbé e délẹ̀, àìṣeéṣe sì dàbí wíwá iṣẹ́ lẹ́ẹ̀kọ̀ọ̀kan dípò ìṣòro ìwọ̀n. Bóyá sọ MTU ọ̀nà abẹ́ ilẹ̀ kalẹ̀ ní ẹ̀gbẹ́ méjèèjì tàbí ṣètò MTU overlay kí awakọ̀ lè kéde ẹrù tí ó wọ̀.
docker network create --driver overlay --attachable --opt com.docker.network.driver.mtu=1400 swarm-overlay
A ń dá nẹ́tíwọ́kì ingress ní ìfọwọ́sowọ́pọ̀, nítorí náà yíyí rẹ̀ padà túmọ̀ sí yíyọ kúrò àti dídá a lẹ́ẹ̀kan sí, kì í ṣe àtúnṣe ní ibi.
Tí o bá tún ẹ̀gbẹ́ kan ṣoṣo ọ̀nà abẹ́ ilẹ̀ ṣe, MTU tí ó kéré ṣì ni ohun tí ó ṣe pàtàkì.
Wo pẹtẹ́lẹ̀ dátà, kì í ṣe àwọn àkọsílẹ̀
Mú ebute VXLAN ní ẹ̀gbẹ́ méjèèjì. Àwọn férémù tí ó jáde ní ẹ̀gbẹ́ kan tí ó sì dé ní ẹ̀gbẹ́ kejì túmọ̀ sí pé ẹ̀yà ìsàlẹ̀ wà dáadáa àti pé ìṣòro wà nínú overlay. Àwọn férémù tí ó jáde tí kò sì dé rárá túmọ̀ sí ọ̀nà tàbí àlẹ̀mọ́. Àwọn férémù tí kò jáde rárá túmọ̀ sí pé àdírẹ́sì orísun kò tọ́.
Àwọn àìṣeéṣe wíwá iṣẹ́ tí ó ń parẹ́ lẹ́yìn ìṣẹ́jú àáyá díẹ̀ máa ń tọ́ka sí ìpín pákẹ́tì tàbí ọ̀nà tí ń gbọ̀n-ọn-nì, kì í ṣe kọ́rọ́mù raft.
Fi àkọsílẹ̀ ìgbà tí ó ń ṣiṣẹ́ dáadáa pamọ́, nítorí fífi wé ti ó ti bàjẹ́ yára ju kíkà ìṣètò lẹ́ẹ̀kan sí.