Introduksjon til Docker Swarm / Definition

En docker-sverm er et av verktøyene som er tilgjengelige i Docker-containere, som er en åpen kildekode-container-orkestrasjonsplattform. Det kalles også det native clustering- og planleggingsverktøyet til Docker. Når størrelsen på containere vokser, blir det veldig vanskelig å administrere alt det der er hvor rollen som Swarm kommer inn. Det hjelper utviklerne og administratorene til å administrere og etablere en klynge av Docker-nodene i form av en enkelt virtuell maskin.

Konseptene / nøkkelbegrepene som brukes for Docker Swarm

  • Swarm - En sverm består av mange Docker-systemer / verter som kjører i svermmodus.
  • Swarmkit - En Swarmkit brukes til å implementere laget av Dockers orkestrering.
  • Oppgave - En oppgave består av kommandoer og containeren som skal kjøres inne i containeren. Oppgavene blir distribuert av svermlederen til nodene.
  • Noder - Node kan defineres som en entall Docker Engine og som deltar i svermen. En god distribusjon av produksjonssvermen er en som har distribuerte docker-noder spredt over mange maskiner.
  • Tjeneste - Hver gang det opprettes en tjeneste, angir den beholderen som skal brukes og kommandoene som skal kjøres inne i beholderen. Så tjenesten er en liste over oppgaver som bør utføres på arbeideren eller lederknutene.
  • Manager Nodes - Jobben som manager noder er å sende oppgavene til arbeidernodene. Manager-nodene er også ansvarlige for å utføre andre funksjoner som for eksempel håndtering av klyngen og orkestrering.
  • Arbeidernoder - Jobben til arbeidernoden er å legge inn oppgavene som kommer fra ledernoden og kjøre dem. En arbeiderknute er installert med agenter som rapporterer enhetene til arbeidet som er tilordnet det til ledernodene.
  • Leader Nodes - Det fungerer som en leder for å utføre oppgaver relatert til orkestrering.

Hva kan man gjøre ved å bruke Docker Swarm

Swarm er veldig nyttig for administratorer og utviklere i et Docker-økosystem. Følgende er noen av oppgavene dockeren kan utføre:

  • Den kan brukes til å skalere antall containere.
  • For å etablere koordinering mellom containere.
  • For tildeling av oppgaver til klyngen av containere.
  • For å styre livssyklusen til containere og også for å utføre regelmessige helsekontroller.
  • For å tjene formålet med å rulle ut oppdateringene for programvare blant containerne.

Forstå Docker Swarm / Working

Nedenfor er arbeidet med docker-sverm som er som følger:

Working of Nodes

Som vi har sett, er det to typer noder, dvs. lederen og arbeideren. La oss se på hvordan begge fungerer.

Oppgavene som håndteres av ledernodene er - Planlegge tjenestene, vedlikeholde klyngestatusen, og også oppfylle HTTP API-sluttpunktene. Det anbefales å kjøre flere ledernoder fordi det vil hjelpe deg å dra nytte av svermens feiltoleransefunksjoner.

Arbeidernoder kjører containerne, og det krever minimum 1 ledernode for å fungere.

Working of Services

Det eneste formålet med tjenestene er å distribuere et appbilde til Docker-svermen. For eksempel er en DB-server, webserver, HTTP-servere eksempler på tjenester.

Prosesser og betingelser i tjeneste:

  • Oppgiftssvikt - Når en oppgave mislykkes inne i en dokkersverm, blir den generelt ikke startet på nytt. Så jobben til orkestratoren er å fjerne den mislykkede oppgaven og erstatte den med den nye som er i samsvar med tjenestetilstanden.
  • Tjenestealternativ - Når en tjeneste opprettes, kan vi alltid definere en port som tjenesten kan brukes på (for eksterne brukere), minne- og CPU-grenser kan brukes, oppdateringspolicyer kan defineres osv.
  • Pending Service - En tjeneste går i en ventende tilstand når ingen noder for øyeblikket er tilgjengelige i docker-svermen for å kjøre oppgaven.

Docker svermfiltre

Dockersvermen har 5 filtre:

  • Affinitet - Formålet med affinitetsfilter er å sikre at containerne kjører på den samme nettverksnoden, og det definerer også sekvensen som containerne skal kjøres i.
  • Port - Porten definerer en dedikert ressurs. Når en container kjører på porten som ikke er ledig, vil containeren skifte til de andre tilgjengelige noder.
  • Begrensning - Når en node opprettes, kan vi tilordne nøkkelverdipar ved hjelp av et begrensningsfilter.
  • Avhengighet - Når det er en avhengighet mellom beholderne, planlegger avhengighetsfilter de på samme node.
  • Helse - Hvis noen av nodene er nede og ikke fungerer, vil dette filteret ikke tildele noen containere på det.

Noen Docker Swarm-kommandoer:

HensiktKommando
Lage en svermDocker svermer init
Bli med på en svermdocker sverm bli med \

–Token Token_number \

IP: Port

Opprette en tjeneste og navngi dendocker service opprette –navn Edu
Fjerne en tjenestedokkertjeneste fjern Edu
Oppdateringstjenestedocker serviceoppdatering
Overvåking av nodehelsedocker node ls

Fordeler og ulemper

La oss nå se fordeler og ulemper med docker-sverm

Fordeler:

  • Distribusjon er enkelt, og svermmodus er som standard kommer med Docker Engine.
  • Installasjonen er enkel og rask.
  • Svermintegrasjonen kan enkelt oppnås med Docker CLI og Docker komponerer
  • Det kreves ikke mye erfaring og læring er enkelt.

ulemper:

  • For å skalere tjenestene kreves manuell intervensjon.
  • Det har begrenset feiltoleranse.
  • Ikke bredere funksjoner er tilgjengelige per nå.
  • Den har et mindre samfunn sammenlignet med andre orkestreringsverktøy tilgjengelig som Kubernetes.

Konklusjon

I denne artikkelen har vi startet med en grunnleggende oversikt og definisjon av Docker swarm, og vi så også de viktige begrepene som brukes i svermeteknologien som er en del av økosystemet. Så har vi prøvd å forstå arbeidet bak Docker-svermen og også lært et par Docker-kommandoer som brukes i svermmodus.

Anbefalte artikler

Dette har vært en guide til Hva er Docker Swarm ?. Her diskuterte vi konseptet, kommandoen, filtre, bruk og forståelsen av Docker Swarm. Du kan også gå gjennom andre foreslåtte artikler for å lære mer -

  1. Spørsmål om Docker-intervju
  2. Hva er Cassandra?
  3. Microservices intervjuspørsmål
  4. Hva er Jenkins?