Uvod v Docker Swarm arhitekturo

Docker Swarm je orodje za združevanje in orkestracijo zabojnikov, ki je vgrajeno v Docker Engine za distribucijski sistem, ki vključuje na stotine zabojnikov. Naloge Docker Node, Docker Services in Docker so ključne komponente arhitekture Dockerjevega roja.

  • Vozišče Docker: To je primerek Docker Engine, ki je vključen v roj Docker, ima dve vrsti:
  • Vozlišče upravitelja: odgovoren je za vse naloge orkestracije in upravljanja vsebnikov, ki so potrebne za vzdrževanje sistema v želenem stanju, kot so vzdrževanje stanja grozda, razporeditev storitev in servisiranje končnih točk HTTP načina rojnega načina.
  • Docker Service: Izvesti je treba opredelitev naloge.

Tipična arhitektura roja Dockerja

Spodaj so točke za značilno arhitekturo roja dockerjev:

  • Vozlišče je ključni član arhitekture roja dockerja, arhitektura roja ima lahko več upravljavskih vozlišč, ki jih vodi eno vozlišče upravitelja, izbrano z algoritmom Raft, upraviteljsko vozlišče pa lahko deluje tudi kot delovno vozlišče, vendar je lahko konfigurirano za delo kot upravitelj vozlišče tudi.
  • Vozlišča upravitelja uporabljajo algoritem soglasja splav za interno upravljanje stanja grozda. To bo zagotovilo, da vsa vozlišča upravitelja, ki načrtujejo in nadzirajo naloge v grozdu, ohranjajo / shranjujejo skladno stanje.
  • Roj je skupina docker motorjev ali vozlišč, kjer razporejamo svoje storitve. V zgodnji fazi je Docker pripravil sistem upravljanja grozdov s komunikacijskim protokolom, znan kot Beam. Kasneje so dodali še API-je in jih preimenovali v roj. Roj prve generacije se imenuje "roj v1".

Delovni tok Docker roja

Potek dela roja dockerja je sestavljen iz razumevanja delovanja vozlišč in storitev v arhitekturi docker roj:

1. korak: Prvi korak je ustvariti nabor docker-machine-a, ki bo deloval kot vozlišča v rovu dockerjev , eno izmed teh vozlišč bo upravitelj, preostala vozlišča bodo delovala kot delovna vozlišča. Če želite ustvariti docker-machine, uporabite ukaz v sistemu Windows, zaženite docker terminal.

docker-machine create –driver hyperv manager1

  • Kjer je 'manager1' ime docker-machine imena, za seznam naprav in zagon.

docker-machine ls
docker-machine ip manager1

Korak 2: Drugi korak je ustvarjanje delavskih strojev, s spodnjim ukazom ustvarite toliko, kot želite delavskih strojev, tukaj ustvarimo 3 delavce.

docker-machine create –driver hyperv worker1
docker-machine create –driver hyperv worker2
docker-machine create –driver hyperv worker3

  • Na upravitelja ali delavca se lahko povežemo s spodnjim ukazom, ki vas bo pripeljal v notranjost stroja.

docker-machine ssh manager1/worker1

Korak 3: Tretji korak je, da inicializiramo roj dockerja, ta ukaz moramo izvesti na stroju, ki ga želimo delati kot upravitelj, torej naredimo upravitelja vozlišč, lahko dodamo tudi več upravljavcev.

docker-machine ssh manager1
docker swarm init –advertise-and Manager1 IP

4. korak: Četrti korak je, da se pridružite delavskim vozliščem, da se zasukate, dobite ukaz, da se vozilu pridružite kot delavec s spodnjim ukazom na upraviteljevem stroju in zaženite ukaz, ki ste ga dobili na delovnem stroju, ki ga želite narediti delavca.

Docker swarm join-token worker1

  • Če želite preveriti, ali je delavec vključen v roj ali ne, pojdite na upraviteljski stroj in zaženite ukaz, bo na seznamu dodan stroj delavca s podrobnostmi upravitelja.

docker-machine ls

5. korak: peti korak je zagon standardnih ukazov dockerja na upravitelju.

docker info (fetches details about docker swarm)
docker swarm (commands that can run on docker swarm such as join, leave, update, init and unlock etc)

6. korak: Šesti korak je zagon kontejnerjev dockerja na rovu dockerja, lahko ustvarimo katero koli storitev in je replike. Pojdite na ub.docker.com, prijavite se in poiščite raziskovanje depozitarjev, kjer lahko vidimo različne slike, ki so motorji, na primer nginx (deluje na spletnem strežniku) ustvari storitev in se v repliki uporabi spodnji ukaz na upravitelju.

docker service create –replicas 3 -p 80:80 –name sample nginx

  • Kjer je 'vzorec' ime storitve in 80 je vrata, ki so izpostavljena, da se preveri stanje storitve zaženite pod ukazom na upraviteljevem vozlišču.

docker service ls
docker service ps sample

Preverite storitev, ki deluje na vseh vozliščih, in v brskalniku preverite tako, da podate IP za vsa vozlišča.

7. korak: Sedmi korak, zdaj lahko vidimo dejansko uporabo roja dockerjev, kjer storitev spreminjamo navzgor in navzdol. Za obseg storitve zaženite spodnji ukaz na upravljalnem stroju

docker service scale sample=4

  • Z zgornjim ukazom bo vzorec storitve deloval na 4 vozliščih, čeprav so vsa vozlišča zasedena, bo ustvarila še eno storitev za upravitelja ali delavca. Podobno lahko zmanjšamo storitev.

docker service scale sample=2

  • Prav tako lahko preverimo vozlišče, da dobimo podrobnosti, na primer koliko in katera storitev se izvaja na vozlišču, tako da na vozilu upravitelja zaženemo spodnje ukaze

docker node inspect worker1/manager1
docker node inspect self

8. korak: osmi korak je posodobitev storitve, ko se storitev izvaja na več strojih in če želimo posodobiti storitev, je zelo preprosta, na primer, če želimo posodobiti različico storitve nginx.

docker service update –image nginx:1.14.0 sample

9. korak: Izklop / zaustavitev / odstranitev.

  • Za izklop katerega koli določenega vozlišča uporabite spodnji ukaz, ki spremeni stanje vozlišča v "izpraznitev".

docker node update –availability drain worker1

  • Za odstranitev storitve iz vseh strojev.

docker service rm sample

  • Zapustiti roj, ki spremeni status 'navzdol'.

docker swarm leave

  • Zaustavitev stroja (Zaženite iz priključnega terminala, ne v upravitelju ali delavskem stroju).

docker-machine stop worker1
docker-machine rm worker1

Prednosti arhitekture Docker Swarm

Spodaj so prikazane prednosti arhitekture Docker Swarm:

  1. Decentralizirana zasnova: z rojem ukaza lahko upravljamo grozdaste grozde. To daje eno samo p (mazilo dostopa za izgradnjo celotnega roja.
  2. V primerjavi s Kubernetesom je zelo preprost.
  3. Velika razpoložljivost: med vozliščami, ki so na voljo v roju, če glavni odpove drugemu delavcu, bo vozlišče napolnilo.
  4. Zaželeno stanje Sprava: Vodja roja spremlja stanje grozda, tako da sta želeno in dejansko stanje vedno enaka.
  5. Ko določimo preko omrežje, da se povežemo z vašimi storitvami, upravitelj roja dodeli naslove vsebniku v omrežju s prekrivanjem, ko ustvarimo / posodobimo zabojnike
  6. Redne posodobitve: Posodobitve storitev je mogoče postopoma opraviti z upraviteljem roja, ki vam omogoča, da določite zamudo med vsako posodobitvijo brez izpadov.

Zaključek

Docker roj je preprosto orodje namesto velikih orodij, ki opravijo nalogo, Docker z rojem nudi orkestracijo, ki jo potrebujemo, enostavno je nastaviti in pošiljati domačega z docker motorjem, ki ga bomo vseeno nameščali in uporabljali.

Priporočeni članki

To je vodnik za Docker Swarm arhitekturo. Tukaj razpravljamo o tem, kako vozlišča in storitve delujejo v arhitekturi docker roj z njihovimi koristmi. Obiščite lahko tudi druge naše sorodne članke, če želite izvedeti več -

  1. Docker arhitektura
  2. Kaj je Docker Swarm?
  3. Roj obveščevalne aplikacije
  4. Ali tehnologija rojenja pomaga agilni ekipi pri rasti?

Kategorija: