Introduzione a Docker Swarm / Definizione

Uno sciame di docker è uno degli strumenti disponibili all'interno dei container Docker che sono una piattaforma / strumento di orchestrazione di container open source. Viene anche chiamato lo strumento di pianificazione e clustering nativo di Docker. Quando le dimensioni dei container aumentano, diventa molto difficile gestire tutto ciò che ricopre il ruolo di Swarm. Aiuta gli sviluppatori e gli amministratori a gestire e creare un cluster di nodi Docker sotto forma di un singolo virtuale macchina.

I concetti / termini chiave utilizzati per Docker Swarm

  • Sciame : uno sciame è composto da molti sistemi / host Docker che funzionano in modalità sciame.
  • Swarmkit : uno Swarmkit viene utilizzato per implementare il livello dell'orchestrazione di Docker.
  • Attività : un'attività comprende comandi e contenitore che devono essere eseguiti all'interno del contenitore. Le attività sono distribuite dal gestore dello sciame ai nodi.
  • Nodi : il nodo può essere definito come un motore Docker singolare e che partecipano allo sciame. Una buona distribuzione di sciami di produzione è quella che ha i nodi docker distribuiti distribuiti su molte macchine.
  • Servizio : ogni volta che viene creato un servizio, specifica il contenitore da utilizzare e i comandi da eseguire all'interno del contenitore. Quindi il servizio è un elenco di attività che devono essere eseguite sui nodi worker o manager.
  • Nodi di gestione : il compito dei nodi di gestione è di inviare le attività ai nodi di lavoro. I nodi manager sono anche responsabili dell'esecuzione di altre funzioni come la gestione del cluster e l'orchestrazione.
  • Nodi di lavoro: il compito del nodo di lavoro è inserire le attività che provengono dal nodo gestore ed eseguirle. Un nodo di lavoro viene installato con agenti che riportano le unità di lavoro assegnate ai nodi del gestore.
  • Nodi Leader : serve come leader per eseguire attività relative all'orchestrazione.

Cosa si può fare usando Docker Swarm

Swarm è molto utile per gli amministratori e gli sviluppatori in un ecosistema Docker. Di seguito sono riportati alcuni dei compiti che la finestra mobile può svolgere:

  • Può essere utilizzato per ridimensionare il numero di contenitori.
  • Per stabilire il coordinamento tra i contenitori.
  • Per l'allocazione di attività nel cluster di contenitori.
  • Per la gestione del ciclo di vita dei contenitori e anche per l'esecuzione di regolari controlli sanitari.
  • Per servire allo scopo di distribuire gli aggiornamenti per il software tra i contenitori.

Comprensione Docker Swarm / Funzionamento

Di seguito è riportato il funzionamento dello sciame delle docker che sono i seguenti:

Funzionamento dei nodi

Come abbiamo visto, esistono due tipi di nodi, ovvero il manager e il lavoratore. Esaminiamo il funzionamento di entrambi.

Le attività gestite dai nodi del gestore sono: Pianificazione dei servizi, manutenzione dello stato del cluster e realizzazione degli endpoint dell'API HTTP. È consigliabile eseguire più nodi di gestione perché ciò consentirà di sfruttare le funzionalità di tolleranza agli errori dello sciame.

I nodi di lavoro eseguono i contenitori e per funzionare sono necessari almeno 1 nodo gestore.

Funzionamento dei servizi

L'unico scopo dei servizi è distribuire un'immagine dell'app nello sciame Docker. Ad esempio, un server DB, un server Web e server HTTP sono esempi di servizi.

Processi e termini in servizio:

  • Errore attività : ogni volta che un'attività fallisce all'interno di uno sciame di docker, generalmente non viene riavviata. Quindi il compito dell'orchestrator è rimuovere quell'attività fallita e sostituirla con quella nuova che è in per con lo stato del servizio.
  • Opzione di servizio - Ogni volta che viene creato un servizio, possiamo sempre definire una porta su cui può essere utilizzato il servizio (per utenti esterni), è possibile applicare limiti di memoria e CPU, definire criteri di aggiornamento, ecc.
  • Servizio in sospeso : un servizio passa in uno stato in sospeso quando non sono attualmente disponibili nodi nello sciame Docker per eseguire l'attività.

Docker Swarm Filters

Lo sciame docker dispone di 5 filtri:

  • Affinità : lo scopo del filtro di affinità è garantire che i contenitori siano in esecuzione sullo stesso nodo di rete e definisce anche la sequenza in cui devono essere eseguiti i contenitori.
  • Porta : la porta definisce una risorsa dedicata. Quando un contenitore è in esecuzione sulla porta che non è libero, il contenitore si sposterà sugli altri nodi disponibili.
  • Vincolo : quando viene creato un nodo, possiamo assegnare coppie chiave-valore con l'aiuto di un filtro di vincolo.
  • Dipendenza : ogni volta che esiste una dipendenza tra i contenitori, i filtri di dipendenza pianificano quelli sullo stesso nodo.
  • Integrità : se uno dei nodi è inattivo e non funziona, questo filtro non assegnerà alcun contenitore su di esso.

Alcuni comandi Docker Swarm:

ScopoComando
Creazione di uno sciameDocker swarm init
Partecipare a uno sciamedocker swarm join \

–Token Token_number \

IP: porta

Creazione di un servizio e denominazioneservizio docker creare –name Edu
Rimozione di un servizioservizio docker rimuovere Edu
Servizio di aggiornamentoaggiornamento del servizio docker
Monitoraggio dell'integrità del nodonodo docker ls

Vantaggi e svantaggi

Vediamo ora i vantaggi e gli svantaggi dello sciame di docker

vantaggi:

  • La distribuzione è semplice e la modalità sciame è di default fornita con Docker Engine.
  • L'installazione è semplice e veloce.
  • L'integrazione di sciami può essere facilmente raggiunta con Docker CLI e Docker compose
  • Non è richiesta molta esperienza e l'apprendimento è facile.

svantaggi:

  • Per ridimensionare i servizi, è necessario un intervento manuale.
  • La tolleranza agli errori è limitata.
  • Al momento non sono disponibili funzioni più ampie.
  • Ha una comunità più piccola rispetto ad altri strumenti di orchestrazione disponibili come Kubernetes.

Conclusione

In questo articolo, abbiamo iniziato con una panoramica e una definizione di base dello sciame Docker e abbiamo anche visto i termini importanti utilizzati nella tecnologia dello sciame che fa parte dell'ecosistema. Quindi abbiamo cercato di capire il funzionamento dietro lo sciame Docker e abbiamo anche appreso un paio di comandi Docker usati in modalità sciame.

Articoli consigliati

Questa è stata una guida a Cos'è Docker Swarm ?. Qui abbiamo discusso il concetto, il comando, i filtri, l'uso e la comprensione di Docker Swarm. Puoi anche consultare i nostri altri articoli suggeriti per saperne di più -

  1. Domande di intervista Docker
  2. Che cos'è Cassandra?
  3. Domande di intervista ai microservizi
  4. Che cos'è Jenkins?