Nõuded: Soovin määrata sõltumatu LAN-IP-aadressi Dockeri konteinerile ruuteri DHCP teenuse kaudu, et arendatud ASP.NET Core rakendus saaks paigaldada mitmele serverile (rakendus tuleb paigaldada mitmele serverile, et saavutada kõrge kättesaadavus), ja seejärel saaks need üksteisele üle kanda. Mõned rakendused, eriti vanad rakendused või need, mis jälgivad võrguliiklust, loodavad ühenduda otse füüsilise võrguga. Sellisel juhul saad kasutada macvlan võrgudraiverit, et määrata iga konteineri virtuaalsele võrguliidesele MAC-aadress, muutes selle välja nagu füüsiline võrguliides, mis ühendub otse füüsilise võrguga. Sellisel juhul pead oma Docker hostil määrama füüsilise liidese macvlani jaoks. Ja. Macvlani alamvõrgud ja väravad. Saad isegi oma võrgu isoleerida teise füüsilise võrguliidesega.
Esiteks tuleb määrata hostmasina füüsiline NIC-iLubab "promiskuiteetse režiimi" režiimiNäiteks kasutades ESXI-d näitena, seadista virtuaalne lüliti järgmiselt:
Süsteemi keskkond on järgmine:
CentOS Linux versioon 7.9.2009 (Core) Docker versioon 20.10.20, build 9fdeb9c
Paigalda Docker teenus CentOS 7 hostile. (välja jäetud)
Seadistadanet.ipv4.ip_forward = 1, saad vaadata praegust konfiguratsiooni sysctl -a kaudu, kui see ei ole 1, palun muuda see 1-ks, õpetus on välja jäetud. Peamine eesmärk on kindlaks teha, kas ühe võrgukaardi poolt saadud info saab edastada teistele võrgukaartidele, kui Linuxi hostil on mitu võrgukaarti, ning kui see on seatud väärtusele 1, saab läbi viia pakettide edastamise.
Kui Docker teenus on paigaldatud, loo macvlan-võrk järgmise käsuga:
--ip-range: Otsustati määrata alamhulk Docker 192.168.50.192/27-le, mis on 32 aadressi vahemik alates 192.168.50.192 ja lõpeb 192.168.50.223. --gateway: Määra lüüsi aadress, tavaliselt ruuteri IP-aadress, palun määra see vastavalt oma tegelikule olukorrale -o vanem: Vanemliidest, mis on hosti füüsilise NIC-kaardi nimi, on vaadatav IP A kaudu vastavalt tegelikule olukorrale.
Pärast loomise lõpetamist saad seda vaadata järgmise käsuga:
Proovi käivitada busyboxi konteiner ja seadistada võrk uue macvlaniga järgmise käsuga:
Nipp: Kui vaja, anna anumIP-aadressi määramiseks kasutage --ip parameetrit, näiteks: --ip=192.168.50.210
Konteineri IP-aadressi saab vaadata, kasutades järgmist käsku:
Loomulikult saad ka konteineri sisse minna, et seda vaadata, kasutades järgmist käsku:
MeKasutades teisi masinaid LAN-is, proovi pingida konteineri IP-aadressi, leiad, et saad pingida, nagu alloleval joonisel näidatud:
Vaadates ruuteri IP ja MAC kaardistustabelit, näed, et dockeri konteineri MAC/IP aadress on sama mis ruuteril, nagu alloleval joonisel näidatud:
Proovi uuesti käivitada Redis konteiner ja seadistada uus MacVLAN võrk järgmise käsuga:
CentOS-i hostil endal töötab ka Redis-rakendus ja see kasutab porti 6379, ning me loome Redis konteinerirakenduse, mis kasutab samuti porti 6379, ehkSama hostporti 6379 kuulavad kaks erinevat IP-aadressi, proovi näha, kas see töötab.
Testitulemused töötavad kõik normaalselt, nagu alloleval joonisel näidatud:
Ressursse
Hüperlingi sisselogimine on nähtav.
|