Uvod u Docker Swarm / definicija
Roj doker je jedan od alata koji su dostupni u Docker spremnicima, a koji su platforma / alat za orkestraciju otvorenih izvora. Naziva se još i izvornim Dockerovim alatom za grupiranje i planiranje. Kada veličina spremnika raste, postaje vrlo teško upravljati svime tamo, tu dolazi i uloga Swarma. To pomaže programerima i administratorima da upravljaju i uspostavljaju skup Docker čvorova u obliku jedinstvene virtualne mašina.
Pojmovi / ključni pojmovi koji se koriste za Docker Swarm
- Roj - Roj se sastoji od mnogih Docker sustava / domaćina koji se izvode u načinu roja.
- Swarmkit - Swarmkit se koristi za provedbu sloja Dockerove orkestracije.
- Zadatak - Zadatak se sastoji od naredbi i spremnika koji bi se trebao izvoditi unutar spremnika. Zadaće upravitelj rojeva raspoređuje na čvorove.
- Čvorovi - čvor se može definirati kao pojedinačni Docker Engine i koji sudjeluju u roju. Dobra implementacija rojeva je ona koja ima distribuirane docker čvorove raširene na mnogim strojevima.
- Servis - Kad god se usluga kreira, određuje spremnik koji bi se trebao koristiti i naredbe koje se trebaju izvoditi unutar spremnika. Dakle, usluga je popis zadataka koji bi se trebali izvršiti na radniku ili upravljačkim čvorovima.
- Čvorovi menadžera - zadatak upravljačkih čvorova je otpremati zadatke radničkim čvorovima. Čvorovi upravitelja odgovorni su i za obavljanje drugih funkcija poput upravljanja klasterom i orkestracijom.
- Radnički čvorovi - zadatak radničkog čvora je unositi zadatke koji dolaze iz čvora upravitelja i izvršavati ih. Radni čvor instaliran je s agentima koji izvještavaju jedinice rada dodijeljene njemu čvorovima upravitelja.
- Vođe čvorova - služi kao vođa za izvršavanje zadataka povezanih s orkestracijom.
Što se može učiniti pomoću Docker Swarma
Swarm je vrlo koristan za administratore i programere u Docker ekosustavu. Slijedi nekoliko zadataka koje docker može postići:
- Može se koristiti za skaliranje broja spremnika.
- Za uspostavljanje koordinacije između spremnika.
- Za raspodjelu zadataka grupi spremnika.
- Za upravljanje životnim ciklusom kontejnera, kao i za obavljanje redovnih zdravstvenih pregleda.
- Za potrebe svrstavanja ažuriranja softvera među spremnike.
Razumijevanje Dokerskog roja / rad
Ispod je rad na brodu doktora koji je sljedeći:
Obrada čvorova
Kao što smo vidjeli, postoje dvije vrste čvorova, odnosno upravitelj i radnik. Pogledajmo kako funkcioniraju oba.
Zadaci kojima upravljaju čvorovi upravitelja su - raspoređivanje usluga, održavanje stanja klastera, kao i ispunjavanje krajnjih točaka HTTP API-ja. Preporučljivo je pokrenuti više čvorova upravitelja, jer to će vam pomoći da iskoristite prednosti mogućnosti toleriranja grešaka u roju.
Radnički čvorovi pokreću spremnike i za funkcioniranje mu je potreban najmanje 1 čvor upravitelja.
Rad usluga
Jedina svrha usluga je rasporediti sliku aplikacije u roj Dockera. Na primjer, DB Server, web poslužitelj, HTTP poslužitelji su primjeri usluga.
Procesi i uvjeti u usluzi:
- Neuspjeh zadatka - Kad god neki zadatak ne uspije u rovu doktora, on se obično ne pokreće. Dakle, posao orkestra je ukloniti taj neuspjeli zadatak i zamijeniti ga novim koji je u skladu sa stanjem usluge.
- Opcija usluge - Kad god se usluga stvori, uvijek možemo definirati port na koji se usluga može koristiti (za vanjske korisnike), ograničenja memorije i CPU-a, definiranje pravila ažuriranja itd.
- Usluga na čekanju - usluga prelazi u stanje čekanja kad u rolu doktora trenutno nema dostupnih čvorova za izvršavanje zadatka.
Docker Swarm filteri
Roj doktora ima 5 filtera:
- Afinitet - Svrha filtra afiniteta je osigurati da se spremnici pokreću na istom mrežnom čvoru i također definira redoslijed u kojem bi se spremnici trebali izvršiti.
- Luka - Luka definira namjenski resurs. Kad se spremnik pokreće na priključku koji nije slobodan, spremnik će se prebaciti na ostale dostupne čvorove.
- Ograničenje - Kad se stvori čvor, možemo dodijeliti parove ključ i vrijednost uz pomoć filtera ograničenja.
- Ovisnost - Kad god postoji ovisnost između spremnika, filtri ovisnosti planiraju one na istom čvoru.
- Zdravlje - Ako je bilo koji od čvorova dolje i ne radi, ovaj filtar neće dodijeliti nijedan spremnik na njemu.
Neke naredbe Docker Swarm:
Svrha | naredba |
Stvaranje roja | Docker roj init |
Pridruživanje roju | docker roj pridružiti se \
–Odgovoreni token_broj \ IP: Luka |
Stvaranje usluge i imenovanje iste | stvoriti docker uslugu - ime Edu |
Uklanjanje usluge | docker servis ukloniti Edu |
Usluga ažuriranja | ažuriranje docker servisa |
Praćenje zdravlja čvorova | docker čvor ls |
Prednosti i nedostatci
Pogledajmo sada prednosti i nedostatke rojeva
prednosti:
- Uvođenje je jednostavno, a način rojeva je zadano u Docker Engineu.
- Instalacija je jednostavna i brza.
- Integriranje rojeva može se lako postići s Docker CLI i Docker compose
- Nije potrebno mnogo iskustva, a učenje je jednostavno.
Nedostaci:
- Da bi se skalirale usluge, potrebna je ručna intervencija.
- Ima ograničenu toleranciju grešaka.
- Od sad nisu dostupne šire funkcije.
- Ima manju zajednicu u odnosu na druge alate za orkestraciju koji su dostupni poput Kubernetesa.
Zaključak
U ovom smo članku započeli s osnovnim pregledom i definicijom roja Docker, a vidjeli smo i važne izraze koji se koriste u tehnologiji roja koja je dio ekosustava. Zatim smo pokušali razumjeti rad iza Dockerovog roja, a naučili smo i nekoliko Dockerovih naredbi koje se koriste u načinu roja.
Preporučeni članci
Ovo je vodič kroz Što je Docker Swarm ?. Ovdje smo razgovarali o konceptu, naredbi, filtrima, korištenju i razumijevanju Docker Swarma. Možete i proći kroz naše druge Prijedloge članaka da biste saznali više -
- Pitanja o intervjuu s Dockerom
- Što je Cassandra?
- Intervjui o mikroservisima
- Što je Jenkins?