Johdatus Docker Swarm -arkkitehtuuriin
Docker Swarm on konttien klusterointi- ja orkesterityökalu, joka on sisäänrakennettu Docker Engine -järjestelmään hajautettuun järjestelmään, joka sisältää satoja kontteja. Docker-solmu, Docker-palvelut ja Docker-tehtävät ovat keskeisiä komponentteja Docker-parvearkkitehtuurissa.
- Docker-solmu: Se on Docker-moottoriin sisältyvä Docker Engine -ilmentymä, jota on kahta tyyppiä:
- Manager Solmu: Vastuu kaikista orkestrointi- ja säilöhallintatehtävistä, joita tarvitaan järjestelmän ylläpitämiseksi halutussa tilassa, kuten klusteritilan ylläpitäminen, palveluiden ajoittaminen ja parvi-moodin HTTP-päätepisteiden huolto.
- Docker-palvelu: Tehtävämäärittely on suoritettava.
Tyypillinen Docker Swarm -arkkitehtuuri
Alla on kohtia tyypillisestä satamalaituriparviarkkitehtuurista:
- Solmu on satamalaituriparva-arkkitehtuurin avainjäsen, parvi-arkkitehtuurissa voi olla useampia kuin yksi johtajasolmu, jota johtaa yksi Raft-algoritmilla valittu manager-solmu, manager-solmu voi toimia myös työntekijän solmuna, mutta voidaan määrittää toimimaan managerina solmu myös.
- Manager-solmut käyttävät Raft Consensus Algorithmia hallitsemaan klusterin tilaa sisäisesti. Tämän tarkoituksena on varmistaa, että kaikki klusterin tehtäviä ajoittavat ja hallitsevat hallinta-solmut ylläpitävät / tallentavat johdonmukaista tilaa.
- Parvi on Docker-moottorien tai solmujen klusteri, johon sijoitamme palvelut. Varhaisessa vaiheessa Docker keksi klusterinhallintajärjestelmän, jolla oli Beam-niminen viestintäprotokolla. Myöhemmin he lisäsivät lisää sovellusliittymiä ja nimetivät sen uudelleen pariksi. Ensimmäisen sukupolven parvea kutsutaan pariksi v1.
Docker-parven työvirta
Telakkaparven työnkulku koostuu ymmärtämisestä, kuinka solmut ja palvelut toimivat satamalaituriparven arkkitehtuurissa:
Vaihe 1: Ensimmäinen askel on luoda joukko satamalaituri-konetta, joka toimii solmuina satamalaiturin parissa . Yksi näistä solmuista on ylläpitäjä, jäljellä olevat solut toimivat työntekijöiden solmuina. Luo telakointikone käyttämällä Windowsin komentoa, käynnistä satamalaite.
docker-machine create –driver hyperv manager1
- Missä 'manager1' on satama-koneen nimi, luetella koneet ja se suoritetaan vastaavasti.
docker-machine ls
docker-machine ip manager1
Vaihe 2: Toinen vaihe on työntekijöiden koneiden luominen. Käytä alla -komentoa luodaksesi niin paljon kuin haluat työntekijöiden koneita. Luodaan tässä 3 työntekijää.
docker-machine create –driver hyperv worker1
docker-machine create –driver hyperv worker2
docker-machine create –driver hyperv worker3
- Voimme muodostaa yhteyden johtajaan tai työntekijään käyttämällä alla olevaa komentoa, joka vie sinut koneen sisälle.
docker-machine ssh manager1/worker1
Vaihe 3: Vaihe 3 on alustaa telakoiden parvi, meidän on suoritettava tämä komento koneella, jonka haluamme työskennellä managerina, ts. Miten me teemme solmunhallinnan, voimme lisätä myös muita ylläpitäjiä.
docker-machine ssh manager1
docker swarm init –advertise-and Manager1 IP
Vaihe 4: Vaihe neljä on liittyä työntekijöiden solmuihin parviksi, saada komento liittyä solmuksi työntekijänä käyttämällä alla-komentoa hallintakoneessa ja suorittaa komento, jonka sait työntekijäkoneella, jonka haluat tehdä työntekijäksi.
Docker swarm join-token worker1
- Jotta voidaan tarkistaa, onko työntekijä liitetty parviin vai ei, mene menemään manager-koneeseen ja suorita -komento, se luettelee lisätyn työntekijän koneen johtajan yksityiskohdat.
docker-machine ls
Vaihe 5: Vaihe viisi on ajaa dokerin vakiokomennot hallintaohjelmassa.
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)
Vaihe 6: Vaihe kuusi on ajaa telakointikonttorit satamalaiturin parissa, voimme luoda minkä tahansa palvelun ja sen jäljennökset. Siirry osoitteeseen ub.docker.com, kirjaudu sisään ja mene tutkimaan säilytysyhteisöjä, joissa näemme erilaisia kuvia, jotka ovat moottorit, esimerkiksi nginx (se toimii verkkopalvelimella) luo palvelun ja replikat käyttävät ylläpitäjän alla olevaa komentoa.
docker service create –replicas 3 -p 80:80 –name sample nginx
- Missä 'näyte' on palvelun nimi ja 80 on portti, joka altistetaan tarkastamaan ylläpitäjän solmun komennon alapuolella olevan palvelun ajon tila.
docker service ls
docker service ps sample
Tarkista kaikissa solmuissa toimiva palvelu ja tarkista myös selain antamalla IP kaikille solmuille.
Vaihe 7: Vaihe seitsemän, nyt voimme nähdä telakkaparven todellisen käytön, kun skaalaamme palvelua ylös ja alas. Palvelun skaalaamiseksi suorita alla oleva komento hallintakoneella
docker service scale sample=4
- Yllä oleva komento saa palvelunäytteen ajamaan 4 solmua, vaikka kaikki solmut ovat varattuja, se luo uuden palvelun ylläpitäjälle tai työntekijälle. Samalla tavoin voimme pienentää palvelua.
docker service scale sample=2
- Voimme tarkastaa myös solmun saadaksesi yksityiskohdat, kuten kuinka monta ja mikä palvelu suorittaa solmua suorittamalla alla olevat komennot manager-solmussa
docker node inspect worker1/manager1
docker node inspect self
Vaihe 8: Vaihe 8: Päivitä palvelu, kun palvelu on käynnissä useissa koneissa. Jos haluamme päivittää palvelun, se on erittäin helppoa ja yksinkertaista, jos esimerkiksi haluamme päivittää palvelun nginx-version.
docker service update –image nginx:1.14.0 sample
Vaihe 9: Sammuta / lopeta / poista.
- Voit sammuttaa minkä tahansa tietyn solmun käyttämällä alla olevaa komentoa, joka muuttaa solmun tilaksi 'tyhjentää'.
docker node update –availability drain worker1
- Palvelun poistaminen kaikista koneista.
docker service rm sample
- Jätä parvi, mikä muuttaa 'alas' -tilaa.
docker swarm leave
- Koneen pysäyttäminen (ajaa telakointiterminaalista, ei päällikön tai työntekijän koneessa).
docker-machine stop worker1
docker-machine rm worker1
Docker Swarm -arkkitehtuurin edut
Alla on pisteitä, jotka osoittavat Docker Swarm -arkkitehtuurin edut:
- Hajautettu suunnittelu: pystymme hallitsemaan parveklusterit parvekomennon avulla. Se antaa yhden p: n (käyttövoima rakentaa koko parvi).
- Se on hyvin yksinkertainen verrattuna Kubernetesiin.
- Suuri käytettävyys: Parvessa olevien solmujen joukossa, jos isäntä epäonnistuu, toinen työntekijän solmu veloittaa.
- Haluttu tilan sovittelu: Parven johtaja seuraa klusteritilaa siten, että haluttu ja todellinen tila on aina sama.
- Kun määrittelemme verkon yli yhteyden palveluihisi, parvien johtaja määrittää osoitteet päällekkäisverkon säilölle, kun olemme luoneet / päivittäneet säilytysastiat
- Päivitettävät päivitykset: Palvelupäivitykset voidaan suorittaa asteittain parvihallinnan avulla voit määrittää viiveen jokaisen päivityksen välillä ilman seisokkeja.
johtopäätös
Docker-parvi on yksinkertainen työkalu suurten työkalujen sijasta, jotka suorittavat tehtävän. Docker-parvi tarjoaa tarvittavan orkesterin, sen asentaminen on helppoa ja lähettää alkuperäiskunnan dokkerimoottorilla, jonka aiomme joka tapauksessa asentaa ja käyttää.
Suositellut artikkelit
Tämä on opas Docker Swarm -arkkitehtuuriin. Tässä keskustellaan siitä, kuinka solmut ja palvelut toimivat satamalaituriparvi-arkkitehtuurissa hyödyineen. Voit myös käydä läpi muiden aiheeseen liittyvien artikkeleidemme saadaksesi lisätietoja -
- Docker-arkkitehtuuri
- Mikä on Docker Swarm?
- Parvien älykkyyssovellukset
- Auttaako Swarming-tekniikka ketterät joukkueet kasvamaan?