Introduktion till Docker Swarm / Definition

En docker-svärm är ett av verktygen som finns i Docker-behållare som är en öppen källkodsplattform / -verktyg. Det kallas också det ursprungliga kluster- och schemaläggningsverktyget för Docker. När containerns storlek växer blir det mycket svårt att hantera allt där det är där rollen som Swarm kommer in. Det hjälper utvecklarna och administratörerna att hantera och etablera ett kluster av Docker-noderna i form av en enda virtuell maskin.

Begrepp / nyckeltermer som används för Docker Swarm

  • Swarm - En svärm består av många Docker-system / värdar som körs i svärmläge.
  • Swarmkit - En Swarmkit används för att implementera lagret av Dockers orkestrering.
  • Uppgift - En uppgift består av kommandon och behållaren som ska köras inuti behållaren. Uppgifterna distribueras av svärmhanteraren till noderna.
  • Noder - Nod kan definieras som en enkel Docker-motor och som deltar i svärmen. En bra produktionssvärminstallation är en som har de distribuerade dockningsnoderna spridda över många maskiner.
  • Service - När en tjänst skapas anger den behållaren som ska användas och kommandona som ska köras inuti behållaren. Så tjänsten är en lista med uppgifter som ska utföras på arbetstagaren eller på managernoderna.
  • Manager Nodes - Manager för noder är att skicka uppgifterna till arbetarnoderna. Managernoderna är också ansvariga för att utföra andra funktioner som hantering av klustret och orkestrering.
  • Arbetarnoder - Arbetarnodens uppgift är att mata in de uppgifter som kommer från managernoden och köra dem. En arbetarnod installeras med agenter som rapporterar enheterna i det arbete som tilldelats det till hanteringsnoderna.
  • Leader Nodes - Det fungerar som en ledare för att utföra uppgifter relaterade till orkestrering.

Vad kan man göra med Docker Swarm

Swarm är mycket användbart för administratörer och utvecklare i ett Docker-ekosystem. Följande är några av uppgifterna som dockaren kan utföra:

  • Det kan användas för att skala antalet containrar.
  • För att upprätta samordning mellan containrar.
  • För att tilldela uppgifter till kluster av containrar.
  • För att hantera livscykeln på containrar och även för att utföra regelbundna hälsokontroller.
  • För att servera syftet med att rulla ut uppdateringarna för programvara bland behållarna.

Förstå Docker Swarm / Working

Nedan visas arbetet med docker-svärm som är följande:

Arbeta med noder

Som vi har sett finns det två typer av noder, dvs chefen och arbetaren. Låt oss undersöka hur båda fungerar.

Uppgifterna som hanteras av managernoderna är - Schemalägga tjänsterna, underhålla klustrtillståndet och uppfylla HTTP API-slutpunkterna. Det är tillrådligt att köra flera hanteringsnoder eftersom det hjälper dig att dra nytta av svärmens feltoleransfunktioner.

Arbetarnoder kör containrarna och det kräver minst 1 managernod för att fungera.

Arbeta med tjänster

Det enda syftet med tjänsterna är att distribuera en appbild till Docker-svärmen. Exempelvis är en DB-server, webbserver, HTTP-servrar exempel på tjänster.

Processer och villkor i tjänst:

  • Uppgiftsfel - När en uppgift misslyckas i en dockningsvärm startas den vanligtvis inte om. Så orkestratorens uppgift är att ta bort den misslyckade uppgiften och ersätta den med den nya som är i enlighet med servicetillståndet.
  • Servicealternativ - När en tjänst skapas kan vi alltid definiera en port som tjänsten kan användas på (för externa användare), minne och CPU-gränser kan tillämpas, uppdateringspolicyer kan definieras etc.
  • Service i väntan - En tjänst går i ett väntande tillstånd när inga noder för närvarande finns tillgängliga i docker-svärmen för att köra uppgiften.

Docker-svärmfilter

Dockarens svärm har 5 filter:

  • Affinitet - Syftet med affinitetsfiltret är att säkerställa att behållarna körs på samma nätverksnod och det definierar också sekvensen där behållarna ska köra.
  • Port - Porten definierar en dedicerad resurs. När en container körs på porten som inte är fri, kommer behållaren att växla till de andra tillgängliga noderna.
  • Begränsning - När en nod skapas kan vi tilldela nyckelvärdespar med hjälp av ett begränsningsfilter.
  • Beroende - När det finns ett beroende mellan behållarna, schemaläggs beroendefilter de på samma nod.
  • Hälsa - Om någon av noderna är nere och inte fungerar tilldelar detta filter inga behållare på det.

Några Docker Swarm-kommandon:

ÄndamålKommando
Skapa en svärmDocker svärmer init
Gå med i en svärmdocker swarm gå med \

–Token Token_number \

IP: Port

Skapa en tjänst och namnge dendockningservice skapa – namn Edu
Ta bort en tjänstdockningservice ta bort Edu
Uppdateringstjänstuppdatering av dockningservice
Övervakning av nodhälsadocker-nod ls

Fördelar och nackdelar

Låt oss nu se fördelarna och nackdelarna med dockningsvärmen

fördelar:

  • Distributionen är enkel och svärmläget är som standard levereras med Docker Engine.
  • Installation är enkel och snabb.
  • Svärmintegrationen kan enkelt uppnås med Docker CLI och Docker-komposit
  • Det krävs inte mycket erfarenhet och att lära är enkelt.

nackdelar:

  • För att skala tjänsterna krävs manuell intervention.
  • Den har begränsad feltolerans.
  • Inga bredare funktioner är tillgängliga från och med nu.
  • Den har en mindre gemenskap jämfört med andra tillgängliga orkestreringsverktyg som Kubernetes.

Slutsats

I den här artikeln har vi börjat med en grundläggande översikt och definition av Docker-svärmen och vi såg också de viktiga termer som används i svärmtekniken som är en del av ekosystemet. Sedan har vi försökt förstå arbetet bakom Docker-svärmen och lärt oss också ett par Docker-kommandon som används i svärmläget.

Rekommenderade artiklar

Detta har varit en guide till Vad är Docker Swarm ?. Här diskuterade vi konceptet, kommandot, filtren, användning och förståelsen av Docker Swarm. Du kan också gå igenom våra andra föreslagna artiklar för att lära dig mer -

  1. Docker intervjufrågor
  2. Vad är Cassandra?
  3. Microservices intervjufrågor
  4. Vad är Jenkins?