Johdatus Docker-pariin / määritelmä

Telakkaparvi on yksi työkaluista, jotka ovat saatavilla Docker-säiliöiden sisällä, jotka ovat avoimen lähdekoodin säiliöiden orkestointialusta / -työkalu. Sitä kutsutaan myös Dockerin natiiviksi klusterointi- ja ajoitustyökaluksi. Kun konttien koko kasvaa, on hyvin vaikeata hallita kaikkia niitä, missä Swarmin rooli tulee. Se auttaa kehittäjiä ja järjestelmänvalvojia hallitsemaan ja perustamaan Docker-solmujen klusterin yhtenä virtuaalisena. kone.

Docker-parviin käytetyt käsitteet / keskeiset termit

  • Parvi - Parvi koostuu monista Docker-järjestelmistä / isäntäyksiköistä, jotka toimivat parvotilassa.
  • Swarmkit - Swarmkit: ää käytetään Dockerin orkestraation kerroksen toteuttamiseen.
  • Tehtävä - Tehtävä käsittää komennot ja säilön, jotka tulisi suorittaa säilön sisällä. Parvepäällikkö jakaa tehtävät solmuihin.
  • Solmut - Solmu voidaan määritellä erillisenä Docker-moottorina ja jotka osallistuvat parhaan. Hyvä tuotantoparven käyttöönotto on sellainen, jonka hajautetut satamasolmut ovat levinneet moniin koneisiin.
  • Palvelu - Aina kun palvelu luodaan, se määrittelee säilön, jota tulisi käyttää, ja komennot, jotka tulisi suorittaa säilön sisällä. Joten palvelu on luettelo tehtävistä, jotka tulisi suorittaa työntekijälle tai johtajan solmuille.
  • Hallintasolmut - Johtajan solmujen tehtävänä on lähettää tehtävät työntekijäsolmuille. Hallintasolmut vastaavat myös muiden toimintojen suorittamisesta, kuten klusterin ja orkestroinnin hallinta.
  • Työntekijän solmut - Työntekijän solmun tehtävänä on syöttää johtajan solmusta tulevat tehtävät ja suorittaa ne. Työntekijän solmu on asennettu agenttien kanssa, jotka raportoivat sille osoitetut työn yksiköt hallintasolmuille.
  • Johtajan solmut - Se toimii johtajana orkestrointiin liittyvien tehtävien suorittamisessa.

Mitä voi tehdä käyttämällä Docker Swarmia

Parvi on erittäin hyödyllinen Docker-ekosysteemin järjestelmänvalvojille ja kehittäjille. Seuraavassa on joitain tehtäviä, jotka satamalaituri voi saavuttaa:

  • Sitä voidaan käyttää astioiden lukumäärän skaalaamiseen.
  • Konttien välisen koordinaation luomiseksi.
  • Tehtävien jakamiseksi konttiklusterille.
  • Konttien elinkaaren hallintaan ja säännöllisten terveystarkastusten suorittamiseen.
  • Tarkoituksena on päivittää ohjelmistopäivityksiä säilytysastioiden joukkoon.

Telakkaparven ymmärtäminen / työskentely

Alla on laituriparin toiminta, jotka ovat seuraavat:

Solmujen toiminta

Kuten olemme nähneet, solmuja on kahta tyyppiä eli johtaja ja työntekijä. Katsokaamme molempien toimintaa.

Managerin solmujen käsittelemät tehtävät ovat: - Palvelujen ajoittaminen, klusterin tilan ylläpito ja myös HTTP API -päätepisteiden täyttäminen. On suositeltavaa ajaa useita hallintalaitteita, koska se auttaa sinua hyötymään parven vikasietoisuusominaisuuksista.

Työntekijän solmut ajavat kontteja ja se vaatii vähintään yhden manager-solmun toimiakseen.

Palveluiden toiminta

Palveluiden ainoa tarkoitus on levittää sovelluskuva Docker-parveen. Esimerkiksi DB-palvelin, Web-palvelin, HTTP-palvelimet ovat esimerkkejä palveluista.

Palvelun prosessit ja ehdot:

  • Tehtävän epäonnistuminen - Aina kun tehtävä epäonnistuu satamalaiturin parissa, sitä ei yleensä käynnistetä uudelleen. Joten orkesterin tehtävänä on poistaa epäonnistunut tehtävä ja korvata se uudella, joka on palvelun tilan mukainen.
  • Palveluvaihtoehto - Aina kun palvelu luodaan, voimme aina määrittää portin, jossa palvelua voidaan käyttää (ulkoisille käyttäjille), muisti- ja CPU-rajoituksia voidaan soveltaa, päivityskäytäntöjä voidaan määritellä jne.
  • Odottava palvelu - Palvelu siirtyy odottamaan tilaan, kun telakoitsijaparvessa ei tällä hetkellä ole solmuja tehtävän suorittamiseksi.

Telakkaparveparvesuodattimet

Telakkaparvessa on 5 suodatinta:

  • Affiniteetti - affiniteettisuodattimen tarkoituksena on varmistaa, että säilöt toimivat samalla verkkosolmulla, ja se määrittelee myös järjestyksen, jossa säiliöiden tulisi suorittaa.
  • Portti - Portti määrittelee omistetun resurssin. Kun kontti on käynnissä portilla, joka ei ole vapaa, säilö siirtyy muihin käytettävissä oleviin solmuihin.
  • Rajoitus - Kun solmu luodaan, voimme määrittää avain-arvoparit rajoitussuodattimen avulla.
  • Riippuvuus - Aina kun konttien välillä on riippuvuus, riippuvuussuodattimet ajoittavat samalla solmulla olevat.
  • Terveys - Jos jokin solmuista on alhaalla ja eivät toimi, tämä suodatin ei osoita mitään säiliöitä siihen.

Jotkut Docker-parvi-komennot:

TarkoitusKomento
Parven luominenSatamalaiturin parvi init
Liittyy parhaansatamalaituri parvi liittyä \

–Tunnuksen tunnusnumero \

IP: Portti

Palvelun luominen ja nimeäminentelakkapalvelun luominen - nimi Edu
Palvelun poistaminenlaituripalvelu poista Edu
Päivitetään palvelualaituripalvelun päivitys
Solmun terveyden seurantatelakan solmu ls

Hyödyt ja haitat

Katsotaanpa nyt telakkaparven etuja ja haittoja

edut:

  • Käyttöönotto on helppoa ja parvitila on oletuksena Docker Engine.
  • Asennus on helppoa ja nopeaa.
  • Parvi-integrointi voidaan saavuttaa helposti Docker CLI: n ja Docker compose -sovelluksen avulla
  • Ei vaadita paljon kokemusta ja oppiminen on helppoa.

haitat:

  • Palvelujen skaalaamiseksi tarvitaan manuaalinen interventio.
  • Sillä on rajoitettu vikasietoisuus.
  • Ei laajempia toimintoja ole saatavana nyt.
  • Sillä on pienempi yhteisö verrattuna muihin saatavilla oleviin orkesterityökaluihin, kuten Kubernetes.

johtopäätös

Tässä artikkelissa olemme aloittaneet yleiskatsauksen ja määritelmän Docker-parvesta. Näimme myös ekosysteemiin kuuluvassa parvitekniikassa käytettyjä tärkeitä termejä. Sitten olemme yrittäneet ymmärtää Docker-parven takana työskentelevää ja oppineet myös pari Docker-komentoa, joita käytetään parvotilassa.

Suositellut artikkelit

Tämä on opas Mikä on Docker Swarm ?. Tässä keskustelimme Docker Swarmin käsitteestä, komennosta, suodattimista, käytöstä ja ymmärtämisestä. Voit myös käydä läpi muiden ehdotettujen artikkeleidemme saadaksesi lisätietoja -

  1. Telakkahaastattelukysymykset
  2. Mikä on Cassandra?
  3. Mikropalvelujen haastattelukysymykset
  4. Mikä on Jenkins?