‫Aceasta va fi prima lectură în care vom folosi de fapt mai multe gazde sau noduri sau
‫instanțe sau orice vreți ... mai multe sisteme de operare. Vom instala un roi de 3 noduri
‫în toate cele trei noduri.
‫Din păcate, nu putem face această parte cu Docker-ul încorporat de pe mașina dvs., deoarece
‫asta ne va oferi doar un sistem de operare. Avem nevoie de trei OS Linux pentru a juca cu următorul set de caracteristici.
‫Prima opțiune pe care o vei avea este folosirea play-with-docker. com.
‫Este absolut cea mai ușoară cale de a începe.
‫Este livrat împreună cu Docker preinstalat. Vă dau câteva secunde pentru a furniza
‫trei mașini diferite și nu necesită investiții pentru sfârșitul dvs. Dar înseamnă că la fiecare patru ore va șterge toată munca pe care ați făcut-o.
‫Deci, dacă credeți că veți face restul acestei secțiuni pe parcursul zilelor, atunci aceasta nu ar
‫fi cea mai bună opțiune pentru dvs. Dar dacă te vei concentra pe câteva ore,
‫poți să treci cu siguranță prin cele mai multe, dacă nu toate, chestii cu noduri multiple folosind Play With Docker într-o singură ședință.
‫O alta optiune pe care o aveti este folosirea docker-machine, care nu este ceva despre care am vorbit
‫inca, dar este un instrument de linie de comanda care se instaleaza de fapt cu Docker for Windows si Docker for Mac.
‫Puteți să-l descărcați pentru Linux și este un instrument de automatizare pentru furnizarea de mașini virtuale la nivel
‫local și pe Internet și apoi să configurați automat Docker pentru dvs.
‫Modul implicit care funcționează este cu VirtualBox, pe care îl puteți instala gratuit. Dar aceasta înseamnă că, dacă aveți de gând să
‫rulați trei mașini virtuale la nivel local, fiecare dintre ei probabil are nevoie de un concert de RAM sau așa pentru a
‫trece prin multe dintre aceste exemple. Deci, veți avea nevoie de o mașină cu o cantitate mare de RAM în ea. O altă opțiune, și
‫cea pe care o să fiu implicită pentru o mulțime de aceste demo-uri și plimbări, este DigitalOcean.
‫Eu doar recomand DigitalOcean doar pentru că au cel mai ieftin și mai ușor serviciu pentru a începe,
‫și ei rulează totul pe SSD, deci este frumos și rapid. Puteți folosi de fapt acest lucru într-un set
‫foarte, foarte asemănător cu ceea ce ar fi producția pentru că utilizați trei mașini virtuale actuale, în
‫nor și durează aproximativ un minut pentru a lansa fiecare mașină virtuală.
‫Dacă vă gândiți că aceasta ar putea fi o opțiune, puteți utiliza codul de referire și
‫referințele la această secțiune pentru a obține gratuit primul dvs. $ 10.
‫Dacă aveți nevoie doar de câteva zile pentru a trece prin chestiile astea, puteți furniza trei noduri de
‫10 USD pe lună și le puteți face zile sau săptămâni.
‫Și asta s-ar putea încadra în bugetul de 10 $ atât de tehnic încât nu ți-ar costa nimic.
‫Și, în sfârșit, există atât de multe modalități de instalare a Docker, și de fapt tot ce aveți nevoie este
‫de trei mașini cu Docker instalate pe ele. Puteți folosi dispozitivul Docker.
‫Acesta a construit în driverele care vă permit să-l utilizați pentru a furniza instanțe Amazon sau instanțe Azure sau DigitalOcean Droplets sau
‫noduri Google Compute sau orice loc unde puteți obține o mașină virtuală Linux, de fapt puteți instala doar Docker cu un script
‫automat de la obține. docher. com.
‫Sincer, prefer prefera. docher. com numai pentru că Docker Machine vă
‫poate salva câțiva pași, în special pentru locații precum Amazon și Azure care necesită furnizarea a numeroase lucruri diferite
‫înainte de a ajunge la furnizarea unei mașini virtuale. Dar probabil că nu veți folosi
‫mașina Docker în producție.
‫Este un instrument pentru a automatiza pur și simplu mediile de testare și testare. Nu a fost niciodată proiectat pentru a seta toate
‫setările de producție de care ați putea avea nevoie pentru un roi multi-nod.
‫Nu este nimic inerent în neregulă cu ea, dar de obicei obține. docher. com funcționează pe toate distribuțiile
‫importante ale Linux și nu durează mai mult decât de fapt folosind Docker Machine în sine.
‫Voi da un exemplu foarte rapid de a obține oricare dintre aceste scenarii până la
‫punctul în care este instalat Docker. Apoi, toți vor fi foarte asemănători în modul în care
‫creăm de fapt roiul și facem serviciile noastre.
‫Deci, nu credeți că trebuie să o faceți așa cum o fac eu.
‫Într-adevăr, încercăm doar să obținem informații Docker pentru a aduce de fapt informații și apoi doar pentru
‫a vă asigura că cele trei noduri au acces la rețea unul altuia și sunt într-o rețea bine conectată.
‫În mod ideal, aceștia ar trebui să se afle în aceeași rețea.
‫Dacă aveai de gând să folosești Play With Docker, de fapt, te duci la play-with-docker. com și verificați caseta pentru că
‫nu sunt un robot.
‫Și dacă vă oferă ecranul CAPTCHA, urmați-l.
‫In regula. Veți vedea că numărătoarea este de patru ore.
‫Dar dacă dau clic pe instanța care creează și apoi o dau de două ori, o să creeze foarte
‫rapid trei medii virtuale.
‫Ca o notă laterală, acest lucru este de fapt folosind Docker în Docker, care este o tehnologie destul de curată în
‫cazul în care suntem de fapt, care rulează Docker în interiorul unui container Docker.
‫Dar în acest set cu Play With Docker, care a fost creat de alți căpitani Docker și echipa Docker, este foarte
‫greu să spui o diferență.
‫Dacă mă duc la node1, văd deja că informațiile Docker îmi oferă cea mai recentă versiune. Și dacă am încercat chiar să ping node2,
‫ea recunoaște de fapt nume prietenoase, astfel încât va facilita comunicarea între
‫ei.
‫Deci, dacă acest lucru este ceva pe care doriți să îl încercați, este o modalitate excelentă și ușoară fie pe mașinile cu putere redusă,
‫fie dacă nu doriți să faceți timp pentru a crea un mediu pentru următoarele patru ore.
‫A doua opțiune este de a folosi mașina de andocare. Dacă aveți instalat, ar trebui să fie cel puțin versiunea 10, dacă
‫nu mai nouă.
‫Veți ști dacă este instalat, deoarece veți tasta comanda dispozitivului de andocare de pe linia
‫de comandă și va funcționa sau nu.
‫Dacă aveți nevoie să o descărcați pentru sistemul dvs. special de operare Linux, atunci puteți trece la documentația Docker, care vă va
‫oferi de fapt o linie rapidă de curl pentru ao descărca.
‫Dacă utilizați ToolBox pe Windows 7 și 8 sau Docker for Windows pe Windows 10 sau Docker for Mac pe Mac
‫OS, acesta va fi deja actualizat pe aceste sisteme de operare pentru dvs.
‫Dacă doriți să utilizați opțiunea VirtualBox, care este cea implicită, trebuie doar să
‫faceți salt la virtualbox. org și descărcați cea mai recentă versiune pentru sistemul dvs. de operare. Și nici măcar nu trebuie să faceți nimic cu
‫VirtualBox.
‫Trebuie doar să fie instalat. Apoi, din linia de comandă, puteți să tastați node1
‫pentru a crea docker-machine și acest lucru se va realiza prin crearea unei mașini virtuale cu
‫BusyBox, o distribuție Linux foarte ușoară.
‫Acest lucru se va realiza prin crearea unei mașini Linux foarte ușoare, și veți repeta doar
‫cele două comenzi pentru node2 și 3.
‫Dacă aveți nevoie de mai multe informații despre o mașină Docker, puteți să vă uitați
‫la secțiunea de referință pentru link-uri de tutorial.
‫După ce ați creat mașinile, aveți cu adevărat două opțiuni pentru cum puteți accesa aceste mașini.
‫Puteți folosi fie ssh server-ul docker-ului, fie și numele nodului pe care l-ați creat și care vă va duce în
‫mașina respectivă.
‫Sau puteți folosi comanda de mediu.
‫Deci, comanda docker-machine env, și apoi numele mașinii pe care o doriți, vă va oferi o ieșire și puteți fie să tăiați și să inserați aceste opțiuni pe
‫linia de comandă, fie să copiați și să inserați opțiunea de jos și asta de fapt, să creez variabila
‫de mediu astfel încât atunci când execut comanda mea de docare, pentru că din nou, Docker CLI trebuie
‫doar să știe ce gazdă Docker să vorbească. În mod implicit, vorbește cu mașina
‫dvs. locală.
‫Dar asta a reprogramat-o să discute cu nodul
‫Machine Docker1.
‫Dacă fac informații despre docker, veți vedea că numele său este node1, deoarece acesta este cel pe care de fapt lucrez
‫acum.
‫Pentru ultimul exemplu, voi folosi DigitalOcean, la care am creat un cont.
‫Aici, ei numesc servere Droplets. Vă recomandăm dacă nu aveți un motiv specific pentru a
‫rula un alt sistem de operare, pentru a începe cu Ubuntu 16. 04 deoarece aceasta tinde să fie prima distribuție Linux care suportă
‫noile funcții Docker.
‫Deci asta e implicit acolo.
‫Apoi aș recomanda pentru restul acestui curs să folosim serverul de 10 USD pe lună. S-ar putea să reușiți să scăpați de
‫serverul de 5 USD pe lună, însă ar putea deveni puțin lent
‫în timpul unor demo-uri ulterioare, atunci când facem monitorizarea și logarea containerelor pe lângă aplicațiile noastre.
‫Apoi puteți alege centrul de date cel mai aproape de dvs. Apoi, singura altă opțiune este să adăugați o cheie SSH.
‫Dacă nu sunteți familiarizat cu modul de a crea propria dvs. cheie SSH local și apoi încărcați publicul în DigitalOcean,
‫există un tutorial excelent
‫pe care îl au pentru el pe care îl puteți găsi în resursele acestei secțiuni.
‫În partea de jos, voi crea trei mașini și le voi numi nodul 1, 2 și 3.
‫Apoi trebuie să aștept, probabil, aproximativ 60 de secunde și vor fi pregătiți pentru mine.
‫Ați putea folosi doar adresele IP aici ... săriți pe aceste mașini.
‫Dând clic pe butonul de copiere și apoi pe ssh root @ adresa IP.
‫Și dacă cheia dvs. SSH este configurată corect pe mașina dvs., atunci se va autentifica automat cu cheia
‫respectivă.
‫Dar în secțiunea resurse, ți-am dat un exemplu despre cum să înființezi o. fișierul de configurare ssh care vă va permite să aveți
‫aceste trei noduri într-o configurație, astfel încât să le puteți numi pur și simplu node1, node2,
‫node3, în loc să vă amintiți adresele lor IP, în cazul în care intenționați
‫să faceți acest lucru în mai multe zile . Este într-adevăr o modalitate ușoară de a intra și de a ieși din aceste servere.
‫Dacă ați folosit Docker Machine sau dacă ați folosit Play With Docker, Docker este deja instalat și
‫vă pregătiți să vă creați roiurile.
‫Dar dacă utilizați DigitalOcean, sau vă rotiți propriile VM-uri, atunci trebuie să instalați Docker.
‫Cea mai ușoară modalitate de a face asta, pe care îmi place să o folosesc, este să folosiți scenariul pentru a obține. docher. com.
‫Puteți vedea aici exemple de utilizare a acestui script pentru a obține versiunea actuală de producție a
‫Docker pe mașina dvs.
‫Acum, toate cele trei servere au cea mai recentă versiune de Docker instalată și suntem pregătiți să
‫înființăm roiul nostru.
‫Din nou, tot ceea ce este necesar este că aceste trei noduri au o rețea solidă una față de cealaltă și
‫porturi specifice deschise.
‫Dacă sunteți curios despre porturile de roi, uitați-vă la resursele acestei secțiuni unde am
‫de fapt un link către lista mea de porturi firewall necesare pentru ca Swarm să funcționeze.
‫Dacă vă mai amintiți mai devreme, am făcut o incursiune. Acum, în acest caz, care este destul de comună
‫în serverele cloud, vrea să specificăm o adresă IP pentru a face publicitate serviciului Swarm.
‫Doriți să utilizați o adresă IP accesibilă de la celelalte servere.
‫În acest caz, voi folosi adresa IP publică pentru gazda mea
‫DigitalOcean.
‫Și acolo mergem.
‫Până acum, aceasta este la fel ca la mașina noastră locală.
‫De data aceasta, însă, voi copia comanda de cuplare a roiului și voi merge la node2 și o voi adăuga.
‫Și acolo mergem.
‫Acest nod este acum o parte a roiului.
‫Așa că ne întoarcem la node1, nodul de docare și acum avem două.
‫Veți observa că al doilea nod este doar un lucrător. Pentru că așa cum se spune, dacă vrem să fie un manager, ar
‫fi trebuit să obținem acest jeton manager. Dar nu vă faceți griji. De fapt, putem actualiza acest lucrător pentru a-l promova
‫în calitate de manager.
‫Dar dacă ne-am terminat pe nod2, observați că nu pot folosi comenzile Swarm. Deoarece muncitorii nu sunt într-adevăr privilegiați.
‫Ei nu au acces la controlul roiului.
‫Deci, ei nu vor putea să folosească comenzile Swarm pe care suntem obișnuiți să le folosim pentru manageri.
‫Înapoi la node1 și managerul, o să fac o actualizare a nodului de andocare ...
‫Ceea ce făceam acolo a fost lovirea Tab pentru finalizarea filă, care este întotdeauna o caracteristică
‫fantastică în Docker, mai ales cu atâtea caracteristici. Mă plimbaam prin fiecare pas de utilizare a acelei comenzi
‫de actualizare.
‫Acum am finalizat actualizarea finală și sa schimbat node2.
‫Acum, dacă fac nodul meu de docare, veți vedea că acum este considerat accesibil.
‫Dar nodul original rămâne lider. Apropo, asteriscul mic? Asta înseamnă că e
‫nodul cu care discutăm în prezent.
‫Pentru node3, să îl adăugăm ca administrator în mod implicit.
‫Trebuie să ne întoarcem la comanda inițială a roiurilor de dockeri și apoi trebuie să luăm
‫managerul de jetoane.
‫Puteți obține aceste jetoane în orice moment.
‫Nu trebuie să le scrieți sau să le salvați.
‫Acestea fac parte din configurația de roiuri și sunt stocate criptate pe disc, așa că nu vă faceți griji.
‫Puteți, de asemenea, să le schimbați în cazul în care acestea pot fi expuse sau puteți obține un server care ar fi putut
‫avea o vulnerabilitate asupra acestuia și doriți să vă asigurați că nici un nod nu se poate alătura roiului de la cheia veche,
‫de fapt, puteți roti aceste taste .
‫Am să copiez acest lucru, să-l lipesc în nod3.
‫Și acolo mergem. Înapoi pe nod1.
‫Dacă fac din nou un nod de docare, veți vedea că am trei noduri. Și toți au un statut de manager care
‫indică faptul că sunt manageri.
‫Deci acum avem un roi de 3 noduri, redundant, cu trei manageri. Să facem același lucru pe care
‫l-am făcut mai devreme, serviciul docker crează ping alpin
‫8. 8. 8. 8
‫Numai de data
‫asta, să-i dăm trei replici.
‫Și apoi facem un serviciu
‫de docare și vom vedea că avem
‫deja trei din trei care rulează.
‫Dacă am făcut un nod ps de tip doc, pot să văd că nodul meu local execută de fapt această sarcină sau container.
‫De fapt, pot specifica nodul, nodul2, și îmi va da doar containerele care rulează pe nodul2.
‫Dacă vroiam să obțin o listă completă, aș putea să fac un serviciu de docking ps, iar apoi maroniu somnoros este numele pe
‫care la dat serviciul nostru. Și veți vedea aici .. permiteți-mi să extind ecranul puțin.
‫Puteți vedea aici că este vorba despre toate cele trei sarcini.
‫Odată ce ați creat acest roi, în mod normal, nu trebuie să tastați
‫comenzi în toate nodurile diferite. Puteți opera într-adevăr întregul roi, pentru cele mai multe lucruri, de la node1.
‫Deci, vom face o mulțime de munca noastră de la node1 în viitoarele conferințe, dar pentru moment, vă lăsați
‫pe spate deoarece aveți un cluster complet de roiuri.