- I-Docker Swarm inikeza ukuhlanganiswa kwemvelo, ukuqondisa i-mesh, kanye nenethiwekhi yokumboza ukuze kushicilelwe izinsizakalo futhi kuxhunywe izitsha kuma-node amaningi.
- I-Portainer Edge Agent (ejwayelekile noma e-async) ikuvumela ukuthi uphathe izindawo ezikude ze-Swarm ngaphandle kokudalula i-Docker API noma ukuvula amachweba angadingekile.
- I-Edge computing izuza ku-Docker kanye ne-WebAssembly ukuze isebenzise imithwalo yemisebenzi elula, ephephile, futhi ephathekayo kuhadiwe elinganiselwe.
- Ngokuhlanganisa i-Swarm, i-Portainer, ne-Wasm, ungakha izakhiwo ezisabalalisiwe, ezibekezelela amaphutha, futhi ezilula ukuzilawula.

Uma uqala ukudlala nge -Docker Swarm, i-Portainer, kanye nokufakwa kwe-edge, kulula ukudideka: ama-ejenti, ama-Edge Agents, ukuqondisa i-mesh, amanethiwekhi e-overlay, ukubambezeleka phakathi kwama-VPS emadolobheni ahlukene… konke kuzwakala kukuhle, kodwa uma kukhulunywa ngokukusetha, ufuna into ecacile, ezinzile, futhi lokho akukuphoqi ukuthi uvule ingxenye ye-firewall yakho.
Emigqeni elandelayo uzothola incazelo eningiliziwe ngesiSpanishi esilula yokuthi konke lokhu kuhlangana kanjani: lokho okulethwa yi-Docker Swarm etafuleni, ukuthi i-mesh routing isebenza kanjani, indima edlalwa yi-Portainer Agent kanye ne-Edge Agent (ezimweni ezijwayelekile nezingenasilinganiselo), indlela yokuphatha izindawo ezisatshalaliswe (isibonelo, i-VPS eNew York kanye nenye eSeattle), kanye nendlela yokusebenzisa i-Docker emaphethelweni, ngisho ne-WebAssembly (Wasm) yamadivayisi alinganiselwe kakhulu.
Imiqondo eyisisekelo: I-Docker Swarm, i-edge computing, kanye ne-Portainer
Ngaphambi kokuthi siqale ukuhlaziya imiyalo, kubalulekile ukuqonda eminye imiqondo eyisisekelo evamile kunoma yiluphi uhlaka lwe-Docker Swarm edge : I-Swarm njenge-orchestrator, indima ye-edge computing, nokuthi kungani i-Portainer yenza impilo ibe lula kangaka.
I-Docker Swarm iyindlela yokuqoqa ama-Docker evumela ukuthi uqoqe ama-Docker Engine amaningi (isibonelo, ama-VM amaningi noma ama-VPS) futhi uwaphathe njengokungathi ayi-virtual host eyodwa. Ngamagama angokoqobo, lokhu kusho ukuthi ungathumela kalula izinsizakalo eziphindaphindwayo, usebenzise amanethiwekhi okumboza phakathi kwama-node, ulayishe ibhalansi, futhi usebenzise ukutholakala okuphezulu.
Ngakolunye uhlangothi, ukubala okusemaphethelweni kuhilela ukuletha ukucutshungulwa kwedatha eduze nalapho idatha ikhiqizwa khona (izinzwa, amadivayisi e-IoT, imishini emincane yasefektri, ama-router, amasango, njll.). Lokhu kunciphisa ukubambezeleka, kusindisa i-bandwidth efwini, futhi kuvumela ukusebenza ngisho nokuxhumana okulinganiselwe noma okungahleliwe. I-Docker isebenza kahle kumadivayisi anamandla aphakathi nendawo, kodwa iyahlupheka kuhadiwe elinganiselwe kakhulu—isibonelo, lapho kusetshenziswa ukusatshalaliswa kwe-Linux okungaguquki .
Yilapho i-Portainer ingena khona , ipulatifomu elula enikeza isikhombikubona sewebhu kanye ne-API yokuphatha izindawo ze-Docker, Swarm, Kubernetes, noma ze-ACI. I-Portainer ikuvumela ukuthi uphathe kalula izitsha, izithombe, amanethiwekhi, amavolumu, nezinye izinsiza, kungakhathaliseki ukuthi ku-host eyodwa noma kuma-node amaningi akude.
Ukuze uxhume lezi zindawo ezikude ku-Portainer Server yakho, unezinketho eziningana: i-Portainer Agent yakudala, ukuxhumana okuqondile ku-Docker API/socket, kanye ne-Portainer Edge Agent kwimodi ejwayelekile noma engahambisani. Ukukhetha inketho efanele kwenza umehluko omkhulu phakathi kokusetha okuhlanzekile kanye nokugcwele ubuthakathaka bokuphepha kanye nama-port avulekile.
I-Docker Swarm: amachweba, umzila we-mesh, kanye nokushicilelwa kwesevisi

Uma uvula imodi ye-Swarm ku-Docker , wonke ama-node ku-cluster ahlanganyela kulokho okwaziwa ngokuthi i-ingress routing mesh . Kalula nje, noma iyiphi i-node ku-cluster ingathola ithrafikhi kuma-port ashicilelwe yisevisi, noma ngabe leyo node ethile ayisebenzi noma yimiphi imisebenzi yaleyo sevisi.
Ukuze konke lokhu kusebenze, amachweba athile kumele avuleke phakathi kwama-Swarm node . Ngokukhethekile, indiza yenethiwekhi yeSwarm isebenzisa:
- Imbobo 7946 TCP/UDP ukuthola inethiwekhi yezitsha.
- Ichweba 4789 UDP (okulungisekayo) kwethrafikhi yenethiwekhi yokungena esekelwe ku-VXLAN.
Ngaphezu kwalokho, amachweba owashicilelayo ezinsizakalo zakho kumele afinyeleleke kusuka ezinsizeni zangaphandle ezizowasebenzisa : ama-load balancers angaphandle, ezinye izinhlelo, abasebenzisi bokugcina, njll. Le thrafikhi izongena nganoma iyiphi i-node, futhi umzila we-mesh uzoba nesibopho sokuyithumela esitsheni sesevisi esisebenzayo.
Ukuze kushicilelwe ama-port ku-Swarm, kusetshenziswa inketho. –shicilela Uma udala noma ubuyekeza isevisi. Ipharamitha target kubonisa imbobo yangaphakathi yesitsha, kuyilapho published Chaza imbobo evezwe ku-routing mesh. Uma weqa imbobo eshicilelwe, i-Docker inika imbobo ephezulu engahleliwe kumsebenzi ngamunye, bese kufanele uhlole imisebenzi ukuze uthole ukuthi iyiphi esetshenzisiwe.
Ichweba elishicilelwe (<PUBLISHED-PORT>) yilapho I-Swarm iveza isevisi ezweni langaphandle, kuyilapho imbobo yesitsha (<CONTAINER-PORT>Yilapho inqubo ilalela khona ngaphakathi kwesitsha. Uma, isibonelo, ukhangisa i-port yangaphandle engu-8080 ekhomba i-port yangaphakathi engu-80 yeseva ye-Nginx, ukucela noma iyiphi i-node ku-port 8080 kuzokwenza i-Swarm ithumele isicelo kwenye yezitsha ezisebenzayo ngaphandle kokuthi ukhathazeke ngokuthi isebenza kuphi ngempela.
Ukuqondisa i-Mesh kulalela ekhelini le-IP le-node kanye ne-port ekhangisiwe. Uma ikheli le-IP lingalawuleka ngaphandle, isevisi izotholakala ngaphandle kwe-host; uma kuyikheli le-IP langaphakathi kuphela, ukufinyelela kuzokhawulelwa ku-host uqobo noma kunethiwekhi yayo yangasese. Ungasebenzisa inhloli yesevisi yedokhi ukubona nganoma yisiphi isikhathi ubudlelwano phakathi kwamachweba aqondiwe (TargetPort) kanye nalezo ezishicilelwe (PublishedPort).
Shicilela ama-port e-TCP kanye/noma e-UDP bese usebenzisa imodi yomsingathi
Ngokuzenzakalelayo, uma ushicilela ichweba ku-Swarm, kucatshangwa ukuthi Iphrothokholi ye-TCPUma ufuna ukushicilela amachweba e-UDP, noma ukuhlanganisa i-TCP ne-UDP, kumele usebenzise i-syntax ende ye- --publish bese ulungisa ukhiye protocol a tcp o udpUma ushicilela kokubili bese ushiya iphrothokholi, izoshicilelwa njenge-TCP.
Ungakwazi futhi yeqa umzila we-mesh ngensizakalo ethile esebenzisa lokho okubizwa ngokuthi imodi yokusingathaKule modi, uma ufinyelela ichweba ku-node, ufinyelela kuphela kusibonelo sesevisi esisebenza kuleyo node, uma ikhona. Ukuze ufeze lokhu, usebenzisa i-syntax ende ye --publish futhi uyasungula mode=hostUma ungacacisi lutho noma ushiya mode=ingressKuzosetshenziswa i-mesh.
Ngemodi yokusingatha, kunezinto ezimbalwa okufanele uzikhumbule ukuze ugweme ukumangala: uma ufinyelela i-node lapho kungekho khona imisebenzi yesevisi, leyo port ingase ingasebenzi noma ithathwe olunye uhlelo lokusebenza ; futhi uma ulindele ukusebenzisa amakhophi amaningi nge-node ngayinye, ngeke ukwazi ukusebenzisa i-port engaguquki ngaphandle kwezingxabano, ngaphandle kokuthi uvumele i-Docker inikeze ama-port angahleliwe noma ikhawulele ku-replica eyodwa nge-node ngayinye usebenzisa izinsizakalo noma imikhawulo yomhlaba wonke.
Ezakhiweni ezinkulu, kuvamile ukuhlanganisa i-Swarm ne- external load balancer efana ne-HAProxy noma efanayo. Ungakwenza lokhu ngokusebenzisa i-mesh routing noma ukusebenzisa i-DNSRR (ngaphandle kwama-VIP) nokulinganisela ngqo kuma-IP emisebenzi, kuye ngokuthi yini efanelana kangcono nezidingo zakho zethrafikhi kanye nokubonakala.
Ukuphathwa okukude nge-Portainer: I-Agent vs I-Edge Agent
I-Portainer inikeza izindlela eziningana zokuxhumanisa izindawo ezikude ze-Docker noma ze-Swarm ku-Portainer Server yakho , futhi yilapho abantu abaningi bedideka khona. Izinketho ezintathu eziyinhloko yilezi: ukusebenzisa i-Portainer Agent, ukuxhuma ngqo ku-Docker API/socket, noma ukusebenzisa i-Portainer Edge Agent (imodi ejwayelekile noma ye-async).
I -Portainer Agent yakudala yenzelwe izindawo lapho i-Portainer Server kanye nama-host aphethwe kunethiwekhi efanayo noma, okungenani, angaxhumana ngqo. Kulesi simo, iseva ixhuma ku-ejenti, ngakho-ke udinga ukuvula ama-port kusuka kuseva kuya kuma-node asebenzisa i-ejenti, okuyinto engathandeki ngaso sonke isikhathi lapho usebenza nama-VPS asatshalaliswa ezikhungweni eziningi zedatha noma amanethiwekhi asekhaya ngemuva kwe-NAT.
Indlela ephephe kakhulu futhi eguquguqukayo ezindaweni ezisatshalaliswe yi -Portainer Edge Agent . Lapha, ukugeleza kuyaguqulwa: i-Edge Agent ku-remote host isungula uxhumano kwi-Portainer Server. Esikhundleni sokugcina uxhumano oluvulekile olungenayo, i-Edge Agent ihlola njalo iseva ukuze ihlole imisebenzi elindile futhi yenze ngokufanele.
Ukuze i-Edge Agent isebenze, i-Portainer Server kumele iveze okungenani i- web interface (UI) port , ngokuvamile i-9443 noma i-NodePort efana ne-30779 ku-Kubernetes. Ngaphezu kwalokho, kwimodi ejwayelekile, udinga ne- tunnel port (8000 noma i-30776 ku-Kubernetes ene-NodePort). Lo mhubhe udala uxhumano oluphephile lwe-TLS phakathi kwe-Edge Agent kanye neseva, okuvumela ukusebenzisana kwesikhathi sangempela nendawo ekude.
Iziqondiso zokufaka ze-Portainer ezisemthethweni sezivele zilungiselele iseva ukuthi ilalele kuzo zombili izimbobo, kodwa kuzodingeka uqinisekise ukuthi i-firewall yendawo yakho iyawadalula lawo zimbobo. I-Portainer iphinde icabange ukuthi uhlangabezana nezidingo ezithile zesistimu ezincane; uma uphambuka kakhulu kulezi, ungadinga ukulungiswa okwengeziwe noma ukusebenza okuthile kungalinganiselwa.
I-Edge Agent kumodi ejwayelekile ku-Docker Swarm cluster
Uma ufuna ukuphatha indawo ekude ye-Docker Swarm nge-Edge Agent ejwayelekile , ukuhamba komsebenzi ku-Portainer kuvame ukuba yinto efana nale: kusuka kumenyu ye-Portainer, vula isigaba se-Environments (Okuhlobene ne-Environment → Environments) bese uchofoza ku-“Engeza indawo”. Lapho ukhetha i-“Docker Swarm” bese uqala i-wizard (Start Wizard).
Ngaphakathi kwe-wizard, khetha inketho ethi i-Edge Agent Standard bese ugcwalisa imininingwane yendawo: igama elichazayo, i-URL lapho i-ejenti izoxhuma khona, izinketho zeqembu noma amathegi, njll. Esigabeni esithi "Izilungiselelo ezengeziwe", ungalungisa imvamisa yokuvota , okunquma ukuthi i-Edge Agent ihlola kangaki imisebenzi noma izinguquko ezintsha. Ngokuzenzakalelayo, ngokuvamile kuba njalo ngemizuzwana emi-5, kodwa ungayishintsha uma ufuna ukunciphisa ithrafikhi noma ukuthuthukisa ukuphendula.
Uma usugcwalise izinkambu eziyisisekelo, chofoza okuthi "Dala." Uma ubhala amalebula kusengaphambili ezindaweni noma ulungiselela izikripthi ezenzakalelayo, ungathola ithokheni yokujoyina kuleli qophelo ukuze ulisebenzise kabusha ekusetshenzisweni kwakho. I-Portainer izobe ikhombisa izinkambu ezengeziwe ozidingayo ukuze ukhiqize umyalo wokufaka.
Isinyathelo esilandelayo ukukhetha ipulatifomu ye-remote host (i-Linux noma i-Windows), ukopishe umyalo okhiqizwe yi-Portainer, bese uwusebenzisa endaweni ye-Edge. Lo myalo ulanda isithombe se-Edge Agent bese usilungiselela ngethokheni ne-URL efanele. Uma usuqalile, indawo entsha ivela esikrinini esikhulu se-Portainer njengenye i-node.
Uma udinga ukusebenzisa enye indawo efanayo ye-Edge, ungasebenzisa i-“Engeza enye indawo” bese uphinda inqubo. Uma usuqedile ngazo zonke izindawo ze-Edge, mane uchofoze okuthi “Qhubeka” ukuze uqhubeke nokulungiselela ezinye izindawo noma “Vala” ukuze ubuyele ohlwini oluyinhloko.
I-Edge Agent kumodi ye-async kanye nokuxhumeka kwekhwalithi ephansi
Imodi ye-async ye- Portainer Edge Agent yenzelwe izimo lapho ukuxhumana kunqunyelwe, kubiza kakhulu, noma kungazinzile kakhulu (izixhumanisi zeselula ( ukuxhumana kwe-5G M2M ), ukuxhumana kwasemakhaya, amadivayisi axhuma ngezikhathi ezithile kuphela, njll.). Kule modi, umhubhe osebenzisanayo wesikhathi sangempela awusungulwa; esikhundleni salokho, i-Edge Agent ithumela izithombe zesimo ku-Portainer Server ngezikhathi ezilungisekayo.
Nge-async, awukwazi ukuvula amaseshini asebenzisanayo nendawo ekude, kodwa ungabuka isimo sakamuva se-cluster bese uqalisa izenzo ngokusekelwe kuleso sithombe. Ukusetshenziswa kwedatha kuphansi kakhulu, okwenza kube kuhle kakhulu ekusetshenzisweni kwe-edge lapho yonke i-megabyte ibalwa khona.
Kumodi ye-async, i-Edge Agent idinga kuphela iseva ukuze ivule imbobo ye-UI (9443 noma i-NodePort efanayo). Imbobo ye-Tunnel 8000 ayisadingeki, okwenza kube lula kakhulu ukuvezwa kwamambobo omphakathi. Ukusetha imvelo ku-Portainer kufana kakhulu nemodi ejwayelekile; umane ukhethe i-"Edge Agent Async" ku-Docker Swarm environment wizard.
Ukuze ungeze i-Edge Async, iya ku-Environments → Engeza indawo, khetha i-“Docker Swarm,” qalisa i-wizard, khetha i-“Edge Agent Async,” bese ugcwalisa ulwazi oluyisisekelo. Ku-“Izilungiselelo ezengeziwe,” unezikhawu ezintathu ezibalulekile: i-Ping, i-Snapshot, kanye ne-Command , ezilawula imvamisa yokushaya kwenhliziyo, isibuyekezo se-environment snapshot, kanye nokuhlola imiyalo emisha, ngokulandelana. Ngokuzenzakalelayo, konke kusethwe kumzuzu owodwa, kodwa ungakulungisa lokhu njengoba kudingeka.
Njengakwimodi ejwayelekile, ungasebenzisa amaqembu namathegi ukuhlukanisa izindawo ze-Edge ngezigaba, udale indawo, uthole ithokheni yokujoyina, futhi, uma umyalo weplatifomu yakho (i-Linux noma i-Windows) usukhiqizwe, uwusebenzise ku-host ekude. I-ejenti ngayinye ye-async izobhalisa, futhi i-Portainer izokwazi ukukukhombisa isimo sayo ngokusekelwe esithombeni sakamuva esitholiwe.
Isimo esijwayelekile: ama-VPS amabili ezifundeni ezahlukene kanye nokusetshenziswa kwe-Portainer
Icala elivamile kakhulu elomuntu onama -VPS amabili ezindaweni ezahlukene (isibonelo, elilodwa eNew York nelinye eSeattle) futhi ofuna ukuwaphatha ngePortainer, esebenzisa i-Docker Swarm noma cha, bese ehlela izinto ezifana ne-Prometheus, i-cAdvisor, kanye ne-Node Exporter enethrafikhi yangaphakathi yangasese phakathi kwama-node.
Esimweni esinjalo, uyazibuza ukuthi ukusebenzisa i-Swarm kuphela kwanele noma ukuthi udinga i-Portainer Agent noma i-Edge Agent ku-VPS ngayinye. I-Docker Swarm ngokwayo inikeza ukuhlelwa kanye nokuxhumana okumboziwe phakathi kwama-node, okuvumela, isibonelo, isibonelo, i-Prometheus ku-New York VPS ukuqoqa amamethrikhi kusuka ezitsheni eSeattle ngenethiwekhi yokumbozwa ebethelwe.
I-Portainer, kulo mongo, ayiphoqelekile kodwa inconywa kakhulu ekuhlanganiseni ukuphathwa kwezinsizakalo, ama-stack, amavolumu, kanye namanethiwekhi . Uma usetha i-Portainer Server kwenye yama-VPS (isibonelo, eNew York), ungaxhuma i-Seattle VPS ne-Edge Agent. Ngale ndlela, awudingi ukuvula i-Docker API noma ukugcina ama-port afinyeleleka ngaphandle kwama-agent akudala.
Ngokuphathelene nokubambezeleka phakathi kwama-Swarm node emadolobheni ahlukene, kuvame ukuba ngamashumi ama-millisecond, okuyinto ezimweni eziningi engeyona inkinga enkulu kumasevisi afana ne-Prometheus, i-Node Exporter, noma i-cAdvisor, enza ukuskena okuvamile. Kodwa-ke, lokhu kufanele kucatshangelwe uma uzosebenzisa amasevisi azwela kakhulu ukubambezeleka noma ukuhambisana phakathi kwama-node.
Ngamafuphi, ukusethwa okuvame kakhulu nokusebenzisekayo kwalolu hlobo lokucushwa ukusebenzisa i-Docker Swarm kumanethiwekhi e-cluster kanye ne-overlay phakathi kwama-VPS, nokusebenzisa i-Portainer Edge Agent (engcono kune-standard Agent) ukuphatha ngokuphephile ama-VPS akude ngaphandle kokuvula ama-port angadingekile. I-Agent yakudala inengqondo uma konke kusenethiwekhi efanayo noma kunokuxhumana okuqondile kakhulu; ezimweni ezisabalaliswe ngokwendawo, i-Edge Agent iyisinqumo esinengqondo.
Imisebenzi ye-Edge ePortainer ku-Docker Swarm
Esinye isici esinamandla lapho usebenza nezindawo ze-Portainer kanye ne-Swarm yi -Edge Jobs . Le misebenzi ikuvumela ukuthi uchaze imisebenzi ezosebenza ezindaweni zakho ze-Edge ezilawulwa yi-Portainer, okuwusizo kakhulu ekunakekelweni, ekulungisweni kabusha, noma ekusetshenzisweni ngezikhathi ezithile.
Umbuzo ophindaphindayo uwukuthi kungenzeka yini ukuphoqa i-Edge Job ukuthi isebenze ku-node ethile ku-Swarm cluster. Ezimweni eziningi, umsebenzi uhlala usebenza kwenye yama-node, futhi awunalo ukulawula okucacile kokuthi usebenza kuyiphi, okungaba ukudideka uma ulindele ukuziphatha okulinganiselayo noma ufuna ukuqondisa i-node ethile.
Isihluthulelo sokulawula lokhu sisekuqondeni ukuthi iPortainer isabalalisa kanjani imisebenzi nokuthi iSwarm iphatha kanjani ukubekwa kwemisebenzi . Kuye ngokuthi umsebenzi uqaliswa njengesitsha esizimele yini ku-node ephethwe yi-Edge Agent noma njengesevisi ngaphakathi kweqembu leSwarm, uzoba nokulawula okuningi noma okuncane ngokusebenzisa imikhawulo noma ukucushwa kwe-Edge Job.
Nakuba ulwazi oluvela ngaphandle kwebhokisi lungase lunikeze umbono wokuthi i-node ikhethwe ngokungahleliwe, ungazama amalebula e-node, amaqembu, kanye nemithetho yokwabiwa ukuze unqume kangcono ukuthi umsebenzi ngamunye usebenza kuphi. Yilapho-ke kufanelekile khona ukubuyekeza ngokucophelela amadokhumenti e-Portainer bese wenza izivivinyo ezilawulwayo uze ube nokuqonda okucacile kwephethini yokuhlela.
I-Portainer ekhaya: I-Edge Agent yokulawula amadivayisi afana ne-Raspberry Pi
Uma sikhuluma ngokusebenzisa i-Portainer ukuphatha amadivayisi asekhaya noma ama-host amancane njenge-Raspberry Pi , indlela iyashintsha kancane. Lapha, ama-host e-Docker avame ukuba ngemuva kwe-NAT, kumanethiwekhi asekhaya, futhi angenalo ikheli le-IP eliqondile lomphakathi, okwenza kube nzima futhi kube yingozi ukudalula i-Docker API noma i-Agent yakudala ku-inthanethi.
Kulesi simo, abasebenzisi abaningi bakhetha i- Portainer Edge Agent kwimodi ejwayelekile ukulawula i-Raspberry Pi yabo noma amanye amadivayisi. Ngale ndlela, akudingekile ukushintsha ukucushwa kwe-Docker ukuze kusebenze i-TCP API noma ukuvula amasokhethi avele obala. I-Edge Agent, njengesikhumbuzo, ivula uxhumano kuseva, idlula i-NAT ngaphandle kokuthi ubhekane nokudlulisela imbobo. Ngaphezu kwalokho, lawa madivayisi avame ukusetshenziswa kumaphrojekthi okubuka afakiwe nge-OpenMV nezinye izinhlelo zokusebenza zomphetho.
I-Portainer Agent yakudala idinga ukuthi i -Portainer Server ikwazi ukuxhuma ngqo kuma-ejenti , into engenzeki njalo kunethiwekhi yasekhaya enama-router ahlinzekwa yi-CG-NAT noma i-ISP. Ngaphezu kwalokho, kuhilela ukuvula ama-port angaphandle kwenethiwekhi yakho yasekhaya, okungeyona indlela enconywayo kakhulu maqondana nokuphepha uma ungenalo isu lokuvikela eliqinile elisebenzayo.
Ngakolunye uhlangothi, nge-Edge Agent, udinga iseva kuphela ukuze ube ne-UI port (futhi, kumodi ejwayelekile, i-tunnel port) efinyeleleka ku-inthanethi noma kunethiwekhi lapho amadivayisi akho atholakala khona. Uma ama-Edge Agents esexhunyiwe, ekubukeni okuyinhloko kwe-Portainer ("Ikhaya") ubona idivayisi ngayinye njengendawo ezimele, futhi ungasebenzisa amaqembu namathegi ukuhlela amadivayisi amaningi e-Raspberry Pis noma ama-edge ngaphandle kokuhlanya.
Imodi ye-Async uma iqhathaniswa nemodi ejwayelekile ezindaweni ezisemaphethelweni
Isinqumo esibalulekile lapho ukhetha i-Portainer Edge Agent ukuthi ngabe uzosebenza kumodi ejwayelekile noma kumodi ye-async . Imodi ejwayelekile inikeza ulwazi olufana kakhulu nokuba ne-host "cishe yendawo": ungavula iseshini yekhonsoli ezitsheni, ubuke amalogi abukhoma, usebenzise ama-stack ngokuxhumana, njalo njalo.
Ngakolunye uhlangothi, imodi ye-Async idela ukusebenzisana ukuze inciphise ukusetshenziswa kwe-bandwidth futhi ibekezelele kangcono ukuxhumana okungaguquki . Ezindaweni lapho ufuna ukuhlola isimo ngezikhathi ezithile kuphela, uqalise imisebenzi ethile, futhi wonge idatha, i-async iyisinqumo esihlakaniphile. Kuzo zombili izimo, i-Portainer isakuvumela ukuthi uhlukanise futhi uphathe izindawo zakho ngamaqembu namathegi.
Ngokuphathelene nama-port avulekile, imodi ejwayelekile idinga kokubili i -UI port kanye ne-tunnel port , kuyilapho imodi ye-async idinga i-UI port kuphela. Uma usemzileni wokuphepha oqinile noma ufuna ukunciphisa indawo eveziwe, imodi ye-async yenza kube lula kakhulu ukusetha, ngezindleko zokulahlekelwa i-TLS tunnel esebenzisana nayo.
I-Docker kanye ne-WebAssembly (i-Wasm) yemithwalo yemisebenzi enqenqemeni
Uma sehlela phansi emkhakheni we -edge computing kumadivayisi alinganiselwe kakhulu (ama-ARM amancane, amasango ane-RAM encane, njll.), ngisho neziqukathi zendabuko zingaba nzima kancane. Yilapho i-WebAssembly (Wasm) ingena khona, esevele ihlangana ne-Docker ngezikhathi zokusebenza ezifana ne-WasmEdge noma i-Wasmtime.
Izinzuzo ze-Wasm ze-edge computing zicacile: ama-binary amancane kakhulu, ukuqala okusheshayo, kanye nokuhlukaniswa okuqinile okusekelwe kumakhono. Ngaphezu kwalokho, ukuphatheka kuzo zonke izakhiwo (x86, ARM, RISC-V, njll.) kuphezulu kakhulu ngoba i-Wasm binary isebenza ngesikhathi sokusebenza, hhayi ngqo ohlelweni lokusebenza.
Ukuze usebenzise i-Wasm nge-Docker emaphethelweni, udinga inguqulo ye-Docker Usekelo lwesikhathi sokusebenza se-WasmI-Docker Desktop inguqulo 4.15 noma kamuva, noma i-Docker Engine ene-container engu-1.7 noma ngaphezulu, ivame ukusebenza. Ukunika amandla lokhu ku daemon.json gcina isithombe esifakwe esitsheni bese umemezela izikhathi zokusebenza ze-Wasm ezihambisanayo (isibonelo, io.containerd.wasmedge.v1 o io.containerd.wasmtime.v1), bese uqala kabusha i-daemon ye-Docker.
Isibonelo esijwayelekile isevisi encane ye ukucutshungulwa kwedatha yenzwa Kubhalwe nge-Rust futhi kwahlanganiswa ku-Wasm (okuhlosiwe) wasm32-wasiLolu hlelo lungafunda idatha ye-JSON umugqa nomugqa, luhlunge ukufundwa okudlula amazinga athile okushisa noma umswakama, futhi lukhiphe izexwayiso naku-JSON, konke ngokusetshenziswa kwezinsiza okuphansi kakhulu.
Uma usuhlanganiswe ku-WebAssembly, ungasebenzisa i- Ifayela le-Docker elisuselwe ekuklwebheni elincane, elincaneukukopisha kuphela i-binary .wasm futhi ukumemezela njenge-ENTRYPOINT. Lapho udala isithombe nge docker buildx yesikhulumi wasi/wasm Futhi uma uyilayisha endaweni, uzobona ukuthi usayizi ophumayo ungama-megabyte ambalwa uma kuqhathaniswa nezithombe zePython noma zeNode ezifinyelela kalula ku-gigabyte.
Ukufaka i-Wasm emaphethelweni nge-Docker kanye ne-Compose
Ezakhiweni zokwakheka kwe-edge zomhlaba wangempela, ngokuvamile kunezinsizakalo eziningana ngedivayisi ngayinye: ama-sensor processors ku-WASM, ama-MQTT brokers okuxhumana, izizindalwazi zochungechunge lwesikhathi, ama-proxies alula abuyela emuva, njll. I-Docker Compose ilungele kahle ukuhlanganisa konke lokhu kufayela elilodwa.
Isibonelo se-edge node singase sibe nesevisi ye-Wasm yokucubungula ukufundwa (kusetshenziswa isikhathi sokusebenza se-Wasm esihambisanayo), umthengisi we-Eclipse Mosquitto ukuthola idatha yesensa, isizindalwazi se-TimescaleDB/PostgreSQL sokugcina uchungechunge lwesikhathi, kanye ne-Caddy njenge-proxy ephambene yokuveza ama-API noma amadeshibhodi. Isevisi ngayinye izoba nezimbobo zayo, amavolumu, kanye nezinqubomgomo zokuqalisa kabusha ezihlala zivuliwe.
Ukuze kube lula ukusatshalaliswa, kuvamile ukusetha ukubhaliswa kwe-Docker yendawo ku-Edge Gateway uqobo, ngokuvamile ku-port 5000. Upakisha isithombe sakho se-Wasm, amalebula aya ku- localhost:5000/... bese uyisunduzela ebhukwini. Ukusuka kwamanye ama-node aseduze ungadonsa kuleyo bhukwini lendawo, unciphise ukubambezeleka kanye nokusetshenziswa kwezinsiza kuya kubhukwini elikude.
Ezinhlelweni ezilinganiselwe kakhulu, kuyalulekwa futhi ukusetha imikhawulo eqinile yezinsizakusebenza : inkumbulo ephezulu (isibonelo, i-32 MB) kanye nemikhawulo ye-CPU (ama-core angu-0.5, njll.), ngisho nokwazi ukuthi i-Wasm ngokwayo isebenzisa izinsizakusebenza ezincane. Lokhu kuvimbela i-bug noma ukwanda komthwalo ekuqandeni idivayisi futhi kukuphoqe ukuthi uyiqale kabusha ngesandla.
Amanethiwekhi, Ukwanda, kanye Nokunqamuka Kokuxhumana Ukubekezelelana Emaphethelweni
Emaphethelweni, amanethiwekhi ngokuvamile awathembeki kangako kunasesikhungweni sedatha : ukungasebenzi njalo, izinguquko ze-IP, izixhumanisi zeselula, njll. Ngenxa yalesi sizathu, kuvamile ukudala amanethiwekhi ebhuloho azinikele ku-node ngayinye ngama-subnet enziwe ngokwezifiso, noma ngisho nokwakha ama-swarms amasayithi amaningi axhunywe ngama-VPN noma imigudu evikelekile.
Nge-Docker ungakha amanethiwekhi ebhuloho ahlukanisiwe anegama lawo lebhuloho ku-host (isibonelo, edge-br0), bese uhlanganisa izinsizakalo zakho naleyo nethiwekhi ukuze uthole ukuhlukaniswa okukhulu kwezinye ithrafikhi. Uma uthatha isinyathelo esengeziwe bese usetha i-Docker Swarm esangweni elingaseceleni, ungasebenzisa amanethiwekhi e-overlay ukuze xhuma izitsha phakathi kwama-node amaningi kusetshenziswa indlela ye-cluster-store kanye ne-cluster-advertise (ngokuvamile ku-Consul noma kwenye i-backend).
Ezimweni ezinama-host amaningi nge-Swarm, i-Docker Machine isalokhu iyithuluzi eliwusizo, njengoba kuboniswe kwezinye izinhlelo zokusebenza nge- OpenNebula . Kuleso simo, ungasebenzisa i-docker-machine enomshayeli we-OpenNebula ukuze uqalise ama-VM nge-boot2docker, usethe i-Consul for discovery, udale i-Swarm master nama-node, bese ekugcineni uxhumanisa konke ngamanethiwekhi e-overlay.
Umqondo ulula: okokuqala, udala i-VM ye-Consul, uyiqale ngesitsha esihambisanayo ku-port 8500, uthole ikheli layo le-IP, bese usebenzisa lelo kheli le-IP emiyalweni ethi `docker-machine create` enezinketho ze-`--swarm` kanye ne-`--swarm-discovery` . Ngokulungiselelwa kwe-`cluster-store` kanye ne-`cluster-advertise`, ungakha inethiwekhi ye-overlay kanye nezinsizakalo zokuqalisa (isibonelo, i-Nginx kwenye i-node kanye ne-BusyBox kwenye) ezingaxhumana zodwa zisebenzisa amagama esevisi.
Ezindaweni ezisemaphethelweni ezihlangabezana nokunqamuka okuvamile, kuyalulekwa ukuthi unike amandla ukuqhubeka kwendawo usebenzisa amavolumu noma ama-bond mounts ukugcina idatha kudiski lapho uxhumano lulahlekile ( ukumelana kwedatha ). Lokhu kuvumela izitsha zakho ukuthi ziqoqe idatha (isibonelo, ukufundwa kwenzwa) futhi ziyithumele ngobuningi lapho uxhumano lubuyiselwa, kulandela iphethini "yokugcina nokudlulisa".
Ezingeni lokuqapha, i-Docker inikeza umyalo olula ofana docker stats ukuthola amamethrikhi ayisisekelo e-CPU, inkumbulo, kanye nethrafikhi yenethiwekhi. Ukuze uthole ukusetshenziswa okungathi sína, kuvamile ukusebenzisa ama-ejenti alula njenge I-Node Exporter kanye ne-Prometheus, echazwe ngisho nakuyi-docker-compose ehlukile "yokuqapha", eveza izilinganiso zomsingathi ohlelweni oluphakathi lokubona izinto.
Ukubuyekeza lokhu kufakwa kwe-edge kulula kakhulu nge-Docker: udonsa isithombe esisha, umise isitsha esidala, usisuse, bese uqala kabusha isevisi ngenguqulo entsha. Futhi, njengoba izitsha ze-Wasm ziqala ngama-millisecond, isikhathi sokungasebenzi sincane, okuyinto ebaluleke kakhulu lapho i-edge iqoqa idatha yesikhathi sangempela.
Ngalesi sibukezo, kuyacaca ukuthi lezi zingcezu zihlangana kanjani: I-Docker Swarm inikeza ukuhlelwa kanye nenethiwekhi yokumboza, i-Portainer Edge Agent yenza kube lula ukuphathwa okukude ngaphandle kokuvula amachweba ayingozi, kanti i-Wasm yehlisa izindleko zokusebenzisa izinhlelo zokusebenza kuhadiwe engenamsebenzi . Ngokuhlela kahle amachweba, amanethiwekhi, kanye nezindlela ze-ejenti (ezijwayelekile noma ezingavumelani), ungakha izakhiwo eziqinile, ezisatshalaliswe emaphethelweni ezindaweni eziningi, ezilungele ukukhuliswa ngaphandle kwezinkinga zokuphatha zansuku zonke.
