Inleiding tot Docker Swarm / Definition

Een docker-zwerm is een van de beschikbare tools in Docker-containers, een open-source container-orkestratieplatform / tool. Het wordt ook de native clustering- en planningstool van Docker genoemd. Wanneer de grootte van containers groeit, wordt het heel moeilijk om alles daar te beheren waar de rol van Swarm speelt. Het helpt de ontwikkelaars en de beheerders om een ​​cluster van Docker-knooppunten te beheren en op te zetten in de vorm van een enkele virtuele machine.

De concepten / belangrijkste termen die worden gebruikt voor Docker Swarm

  • Zwerm - Een zwerm bestaat uit veel Docker-systemen / hosts die in de zwermmodus draaien.
  • Swarmkit - Een Swarmkit wordt gebruikt voor het implementeren van de laag van Docker's orkestratie.
  • Taak - Een taak bestaat uit opdrachten en de container die in de container moet worden uitgevoerd. De taken worden door de zwermmanager verdeeld over de knooppunten.
  • Nodes - Node kan worden gedefinieerd als een enkele Docker Engine en die deelnemen aan de zwerm. Een goede productie zwermimplementatie is er een die de gedistribueerde docker nodes verspreid over veel machines heeft.
  • Service - Wanneer een service wordt gemaakt, geeft deze de container aan die moet worden gebruikt en de opdrachten die in de container moeten worden uitgevoerd. Service is dus een lijst met taken die moeten worden uitgevoerd op de werker of de managerknooppunten.
  • Manager-knooppunten - De taak van manager-knooppunten is om de taken naar de werkknooppunten te verzenden. De beheerknooppunten zijn ook verantwoordelijk voor het uitvoeren van andere functies, zoals het beheer van het cluster en de orkestratie.
  • Werknemersknopen - De taak van het werkersknooppunt is het invoeren van de taken die van het beheerknooppunt komen en deze uitvoeren. Een werkknooppunt wordt geïnstalleerd met agenten die de toegewezen eenheden van het werk rapporteren aan de beheerknooppunten.
  • Leader Nodes - Het dient als een leider om taken met betrekking tot orkestratie uit te voeren.

Wat kun je doen met Docker Swarm

Swarm is erg handig voor beheerders en ontwikkelaars in een Docker-ecosysteem. Hier volgen enkele taken die het docker kan uitvoeren:

  • Het kan worden gebruikt om het aantal containers te schalen.
  • Voor het tot stand brengen van coördinatie tussen containers.
  • Voor het toewijzen van taken aan het cluster van containers.
  • Voor het beheer van de levenscyclus van containers en ook voor het uitvoeren van regelmatige gezondheidscontroles.
  • Voor het doel van het uitrollen van de updates voor software tussen de containers.

Dockerzwerm / werken begrijpen

Hieronder is de werking van dokzwerm die als volgt is:

Werken van knooppunten

Zoals we hebben gezien, zijn er twee soorten knooppunten, namelijk de manager en de werknemer. Laten we de werking van beide onderzoeken.

De taken die door de beheerknooppunten worden afgehandeld, zijn: het plannen van de services, het onderhoud van de clusterstatus en het vervullen van de HTTP API-eindpunten. Het is raadzaam om meerdere beheerknooppunten uit te voeren, omdat dit u zal helpen om te profiteren van de functies voor fouttolerantie van zwerm.

Werknemersknooppunten voeren de containers uit en het vereist minimaal 1 managerknooppunt om te functioneren.

Werken van services

Het enige doel van services is het implementeren van een app-afbeelding in de Docker-zwerm. Een DB-server, webserver en HTTP-servers zijn bijvoorbeeld voorbeelden van services.

Processen en servicevoorwaarden:

  • Taak mislukt - Wanneer een taak in een dockerzwerm mislukt, wordt deze over het algemeen niet opnieuw gestart. Het is dus de taak van de orkestrator om die mislukte taak te verwijderen en te vervangen door de nieuwe die de status van de service heeft.
  • Service-optie - Wanneer een service wordt gemaakt, kunnen we altijd een poort definiëren waarop de service kan worden gebruikt (voor externe gebruikers), geheugen- en CPU-limieten kunnen worden toegepast, updatebeleid kan worden gedefinieerd, etc.
  • In afwachting van service - Een service gaat in behandeling als er momenteel geen knooppunten beschikbaar zijn in de docker-zwerm om de taak uit te voeren.

Docker Zwermfilters

De koppelzwerm heeft 5 filters:

  • Affiniteit - Het doel van affiniteitsfilter is om ervoor te zorgen dat de containers op hetzelfde netwerkknooppunt worden uitgevoerd en het definieert ook de volgorde waarin de containers moeten worden uitgevoerd.
  • Poort - De poort definieert een speciale bron. Wanneer een container op de poort draait die niet vrij is, wordt de container naar de andere beschikbare knooppunten verplaatst.
  • Beperking - Wanneer een knooppunt wordt gemaakt, kunnen we sleutel / waarde-paren toewijzen met behulp van een beperkingsfilter.
  • Afhankelijkheid - Wanneer er een afhankelijkheid is tussen de containers, plannen afhankelijkheidsfilters die op hetzelfde knooppunt in.
  • Gezondheid - Als een van de knooppunten niet actief is, wijst dit filter er geen containers aan toe.

Enkele Docker-zwermcommando's:

DoelCommando
Een zwerm makenDocker zwerm init
Lid worden van een zwermdocker zwerm join \

–Token Token_number \

IP: poort

Een service maken en een naam gevendocker-service maken –naam Edu
Een service verwijderenDocker-service verwijderen Edu
Service bijwerkenupdate van docker-service
Monitoring van knooppuntgezondheidkoppelknooppunt ls

Voor-en nadelen

Laten we nu de voor- en nadelen van docker-zwerm zien

voordelen:

  • Implementatie is eenvoudig en de zwermmodus wordt standaard geleverd met Docker Engine.
  • Installatie is eenvoudig en snel.
  • De zwermintegratie kan eenvoudig worden bereikt met Docker CLI en Docker compose
  • Er is niet veel ervaring vereist en leren is eenvoudig.

nadelen:

  • Om de services op te schalen, is handmatige interventie vereist.
  • Het heeft een beperkte fouttolerantie.
  • Vanaf nu zijn geen bredere functies beschikbaar.
  • Het heeft een kleinere gemeenschap in vergelijking met andere beschikbare orkestratietools zoals Kubernetes.

Conclusie

In dit artikel zijn we begonnen met een basisoverzicht en een definitie van Docker-zwerm en zagen we ook de belangrijke termen die worden gebruikt in de zwermtechnologie die deel uitmaakt van het ecosysteem. Vervolgens hebben we geprobeerd de werking achter Docker-zwerm te begrijpen en hebben we ook een paar Docker-opdrachten geleerd die in de zwermmodus worden gebruikt.

Aanbevolen artikelen

Dit is een handleiding geweest voor Wat is Docker Swarm ?. Hier hebben we het concept, commando, filters, gebruik en begrip van Docker Swarm besproken. U kunt ook onze andere voorgestelde artikelen doornemen voor meer informatie -

  1. Sollicitatievragen bij Docker
  2. Wat is Cassandra?
  3. Vragen tijdens solliciteren bij Microservices
  4. Wat is Jenkins?