‫Înainte de a ne extinde serviciile pentru a începe să fugi peste o grămadă de noduri și toate serviciile care vorbesc unul
‫cu celălalt, să trecem peste câteva noi concepte pe care Swarm le aduce la masă.
‫Primul este un nou driver de rețea numit Overlay și chiar creați o rețea cum ar fi cea pe
‫care o utilizați
‫pentru crearea acesteia, crearea unei rețele de docere și introduceți o suprapunere cu --driver.
‫Ceea ce este ca, de fapt, se creeaza o retea de poduri la nivel de Swarm, unde contactele de pe gazde
‫in aceeasi retea virtuala se pot accesa reciproc ca si cum ar fi intr-o VLAN.
‫Aceasta este doar pentru comunicarea în interiorul roiului.
‫Driverul suprapus nu joacă o cantitate imensă în traficul care intră în interior, deoarece încearcă să obțină
‫o vizualizare globală a rețelei, astfel încât să nu încercați în mod constant să configurați rețelele
‫pe noduri individuale.
‫Puteți, de asemenea, să activați criptarea completă a rețelei utilizând serviciul IPIEce SEC, unde va crea de fapt tuneluri IPSec
‫între toate nodurile diferite ale roiului dvs.
‫Dar este oprit implicit, din motive de performanță.
‫Când vă creați serviciile, le puteți adăuga în rețelele Overlay sau într-una sau mai multe rețele Overlay.
‫Depinde într-adevăr de designul aplicației dvs.
‫Știi, o mulțime de modele tradiționale ar avea bazele de date pe o rețea de backend
‫și serverele Web pe o rețea frontendă. Apoi, poate ai avea un API între cele două care ar fi în ambele rețele
‫sau ceva de genul asta.
‫Și puteți face asta în totalitate în Swarm.
‫Să vedem asta în acțiune. Ceea ce vreau să fac este să vreau
‫să vă arăt cum ar fi dacă am implementat exemplul Drupal dintr-o misiune anterioară cu baza de date Postgres ca servicii și apoi am creat o
‫rețea Overlay pentru ca ei să discute între ei.
‫Mai intai trebuie sa cream o retea, astfel incat sa creasca reteaua de dockere, iar acest lucru nu sa schimbat
‫pentru Swarm in afara de faptul ca vom folosi un driver nou.
‫O să-i spun "mydrupal".
‫O.K.
‫Deci, am de gând să fac o rețea de docuri și vei vedea că am o suprapunere nouă. Intrarea este acolo în mod implicit.
‫Veți vedea, de asemenea, unul nou, deoarece un roi, care este de fapt o rețea de ieșire pe care nu vom avea nevoie să
‫ne mânie.
‫Deci, să creăm serviciul nostru Postgres ... serviciul docker crea numele ... să o numim rețea psql.
‫O vom conecta la rețeaua mydrupal.
‫Există, de fapt, completarea filelor pe numele rețelelor.
‫Apoi amintiți-mi că trebuie să adaug în acea variabilă de mediu pentru parola Postgres.
‫Așa că ne putem conecta mai târziu.
‫Apoi vom folosi imaginea Postgres. Arata bine.
‫Veți observa aici că nu descărcăm întreaga imagine și că toate acestea, deoarece serviciile nu pot fi difuzate în
‫prim-plan, deoarece trebuie să treacă prin orchestrator și programator. Deci, putem face un serviciu
‫de docare și putem vedea că unul dintre ele se execută.
‫Dacă facem un serviciu de andocare ps psl, putem vedea că acesta rulează de fapt pe Nodul 1.
‫Așa că pot să fac un container de docare și să văd jurnalele.
‫Da. Se pare că se execută.
‫In regula.
‫Să creăm și celălalt serviciu, așa că voi merge mai departe
‫și o numim doar drupal.
‫Trebuie, de asemenea, să ne atașăm aceleiasi rețele. Apoi vrem să publicăm portul 80:80 ca și cum am
‫fi făcut-o cu o comandă de docker. Și vom folosi imaginea Drupal.
‫O.K.
‫Putem vedea că începe de acolo.
‫E un truc. Puteți utiliza de fapt comanda de vizionare în Linux pentru a viziona. În principiu
‫... ceea ce face este reluarea unei comenzi de peste si peste din nou. Este instalat implicit pe
‫Ubuntu.
‫Dacă puneți ceasul în fața serviciului docker ls, acesta va continua să ruleze la fiecare două secunde în mod implicit până
‫când ... ah, vezi?
‫Acum avem unul câte unul.
‫În regulă, și apoi voi controla din asta. Putem face un serviciu docker
‫drupal și vom vedea că drupal rulează de fapt pe Nodul 2.
‫Avem baza de date care rulează pe Nodul 1.
‫Avem site-ul Drupal care rulează pe Nodul 2.
‫Deci, cum știu cum să discute între ei?
‫Ei bine, folosind numele de servicii.
‫Dacă aș lipi într-una din adresele IP, ar trebui să apară pe instalarea Drupal. Și dacă-i spun baza de date aici, numele
‫bazei de date, vom face din nou
‫postgresele, postgres, parola mea.
‫Pentru gazdă, la fel ca atunci când am fost cu Compose, am făcut numele serviciului în fișierul Compose, aici, vom folosi
‫numele serviciului pe care l-am creat pentru serverul de bază de date. Așa a fost psql.
‫Acest ecran ne spune în principiu că este capabil să vorbească cu baza de date de-a lungul nodurilor
‫și să configureze sistemul.
‫Acesta este cel mai bun lucru despre Overlay este că într-adevăr acționează ca și cum totul se află pe aceeași subrețea.
‫In regula.
‫Deci nu mai avem nevoie de asta.
‫Voi termina acest exemplu într-adevăr rapid pentru a vă arăta următorul lucru interesant despre Swarm. O.K.
‫Acum, acest site rulează. Dar am trei noduri, așa cum știu ce nod va fi
‫și la care port trebuie să mă asigur că DNS-ul meu arată când creez acest nume de site?
‫În cazul meu, am trei adrese IP, și le pot copia pe toate trei și le-am pus toate cele
‫trei adrese
‫IP și ... Hopa ... Am găsit pe cel rău acolo.
‫Deci, dacă vedeți, se pare că site-ul rulează pe toate cele trei noduri, deoarece mă uit la cele
‫trei adrese IP.
‫Dar dacă mă duc aici și fac acest serviciu ps drupal, știu că este doar nodul 2 care rulează.
‫Pot chiar să inspectez serviciul de docare și să văd că într-adevăr are doar o adresă IP pe respectiva rețea
‫suprapusă ... chiar aici.
‫Deci, de ce răspunde tuturor celor trei gazde?
‫Asta ne duce la noua noastră caracteristică nouă.