Dockeri sülemiarhitektuur - Kuidas sõlmed ja teenused töötavad?

Lang L: none (table-of-contents):

Anonim

Sissejuhatus Dockeri sülearhitektuuri

Docker Swarm on konteinerite klasterdamise ja orkestrimise tööriist, mis on sisse ehitatud Docker Engine'i hajutatud süsteemi, mis hõlmab sadu konteinereid. Dockeri sõlme, Dockeri teenused ja Dockeri ülesanded on Dockeri sülemiarhitektuuri põhikomponendid.

  • Dockeri sõlm: see on Dockeri sülemis sisalduv Docker Engine'i eksemplar, seda on kahte tüüpi:
  • Haldussõlm: vastutab kõigi süsteemi soovitud olekus hoidmiseks vajalike orkestreerimis- ja konteinerihaldusülesannete eest, näiteks klastri oleku säilitamine, teenuste ajastamine ja sülemirežiimi HTTP lõpp-punktide teenindamine.
  • Doki teenus: täitma tuleb ülesande määratlus.

Tüüpiline dokimehe sülearhitektuur

Allpool on toodud punktid tüüpilise doki sülemiarhitektuuri kohta:

  • Sõlm on doki sülemiarhitektuuri võtmeliige, sülemiarhitektuuris võib olla rohkem kui üks haldurisõlm, mida juhib üks haldurisõlm, mis on valitud parve algoritmi abil, haldurisõlm võib töötada ka töötaja sõlmena, kuid selle saab konfigureerida töötama haldurina sõlm ka.
  • Haldurisõlmed kasutavad klastri oleku sisemiseks haldamiseks parve konsensuse algoritmi. Selle eesmärk on tagada, et kõik haldurisõlmed, mis klastris ülesandeid ajastavad ja kontrollivad, säilitaksid / salvestaksid ühtlast olekut.
  • Sülem on dokkermootorite või -sõlmede klaster, kus me oma teenuseid juurutame. Varakult tuli Docker välja klastrihaldussüsteemiga, mille sideprotokoll oli Beam. Hiljem lisasid nad veel API-sid ja nimetasid selle ümber sülem. Esimese põlvkonna sülem on nn sülem v1.

Docker sülem

Docker-sülemi töövoog seisneb mõistmises, kuidas sõlmed ja teenused doki-sülemiarhitektuuris töötavad:

1. samm: esimene samm on luua dokkimismasina komplekt, mis toimiks dokkide sülemis sõlmedena, neist sõlmedest saab üks halduri, ülejäänud sõlmed töötavad sõlmedena. Dokk-masina loomiseks kasutage Windowsi käsku, käivitage doki terminal.

docker-machine create –driver hyperv manager1

  • Kus 'manager1' on doki-masina nimi, et masinad loetleda ja see töötab vastavalt.

docker-machine ls
docker-machine ip manager1

2. samm. Teise sammuna luuakse töömehhanismid. Kasutage käsku allpool, et luua nii palju töötajamasinaid kui soovite, siin looge 3 töötajat.

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

  • Saame halduri või töötajaga ühenduse luua, kasutades allpool toodud käsku, mis viib teid masinasse.

docker-machine ssh manager1/worker1

3. samm: kolmas samm on dokkide sümboli initsialiseerimine, me peame selle käsu käivitama masinas, millele tahame haldajana tööd, see tähendab, et me teeme sõlmehaldurit, võime lisada ka rohkem haldureid.

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

4. samm: neli sammu liidetakse töötajate sõlmpunktidega sülemlemiseks, saate käsu sõlmida töötajana sõlmpunkt, kasutades halduri masina all olevat käsku ja käivitage käsk, mille olete saanud töötaja masinas, millest soovite töötaja saada.

Docker swarm join-token worker1

  • Kontrollimaks, kas töötaja on ühendatud sülemiga või mitte, lähete halduri masina juurde ja käitage käsku, loetleb ta lisatud töötaja masina koos juhi andmetega.

docker-machine ls

5. samm: viies samm on käita dokkija standardsed käsud halduril.

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. samm: kuues samm on dokkimiskonteinerite käivitamine doki sülemil, võime luua mis tahes teenuse ja selle koopiad. Minge saidile ub.docker.com, logige sisse ja uurige depoopangasid, kus näeme erinevaid pilte, mis on mootorid, näiteks nginx (see töötab veebiserveril) loob teenuse ja selle koopiad kasutavad halduri allpool toodud käsku.

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

  • Kus „valim” on teenuse nimi ja 80 on port, mida eksponeeritakse, et kontrollida haldurisõlme all oleva käsu all oleva teenuse käituse olekut.

docker service ls
docker service ps sample

Kontrollige kõigil sõlmedel töötavat teenust ja kontrollige ka brauserit, määrates kõigi sõlmede jaoks IP.

7. samm: seitsmes samm. Nüüd näeme dokkijate sülemite tegelikku kasutamist, kui skaleerime teenust üles ja alla. Teenuse ulatuse suurendamiseks käivitage haldusmasinas allpool olev käsk

docker service scale sample=4

  • Ülaltoodud käsk paneb teenuse valimi töötama 4 sõlmel, isegi kui kõik sõlmed on hõivatud, loob see halduri või töötaja jaoks uue teenuse. Samamoodi saame teenust vähendada.

docker service scale sample=2

  • Samuti võime sõlme kontrollida, et saada üksikasju, näiteks kui palju ja millist teenust sõlmes töötab, käivitades haldurisõlmes allpool olevad käsud

docker node inspect worker1/manager1
docker node inspect self

8. samm: kaheksas samm on teenuse värskendamine, kui teenus töötab mitmes masinas ja kui soovime teenust värskendada, on see väga lihtne ja lihtne, näiteks kui soovime värskendada teenuse nginx versiooni.

docker service update –image nginx:1.14.0 sample

9. samm: seiskamine / peatamine / eemaldamine.

  • Mis tahes konkreetse sõlme sulgemiseks kasutage allpool olevat käsku, mis muudab sõlme oleku 'äravool'.

docker node update –availability drain worker1

  • Teenuse eemaldamine kõigist masinatest.

docker service rm sample

  • Sülemast lahkumiseks, mis muudab 'alla' olekut.

docker swarm leave

  • Masina peatamiseks (sõitke doki terminalist, mitte juhi või töötaja masinas).

docker-machine stop worker1
docker-machine rm worker1

Dockeri sülemiarhitektuuri eelised

Allpool on toodud punktid, mis näitavad Docker Swarm Architecture eeliseid:

  1. Detsentraliseeritud kujundus: sülemiklastrit saab hallata sülemikäskluse kaudu. See annab ühe p-i (salv juurdepääsu kogu sülemile ehitamiseks).
  2. See on Kubernetesega võrreldes väga lihtne.
  3. Suur saadavus: kui kapten ebaõnnestub, saab sülemites olemasolevate sõlmede hulgast lisatasu mõni teine ​​töötaja sõlm.
  4. Soovitud oleku lepitamine: sülemijuht jälgib klastri olekut nii, et soovitud ja tegelik olek on alati samad.
  5. Kui määratleme teie teenustega ühenduse loomiseks üle võrgu, määrab sülemhaldur konteinerite loomise / värskendamise pärast ülekattega võrgu konteineri aadressid
  6. Värskenduste värskendamine: teenuse värskendusi saab teha järk-järgult. Süsteemi haldur võimaldab teil määrata viivituse iga värskenduse vahel ilma seisakuid.

Järeldus

Dockeri sülem on ülesannete täitmiseks mõeldud suurte tööriistade asemele lihtne tööriist, sülemiga sülearvuti Docker pakub meile vajalikku orkestreerimist, seda on lihtne üles seada ja emakeelena kohale toimetada dokkermootoriga, mille kavatseme niikuinii installida ja kasutada.

Soovitatavad artiklid

See on juhend Docker Swarmi arhitektuurist. Siin arutleme, kuidas sõlmed ja teenused toimivad dokkide sülemiarhitektuuris koos nende eelistega. Lisateavet leiate ka meie muudest seotud artiklitest -

  1. Doki arhitektuur
  2. Mis on Docker Swarm?
  3. Sülemluure rakendused
  4. Kas sülemitehnoloogia aitab vilgastel meeskondadel kasvada?