Docker & DevOps Fundamentals · Lezione

Scalabilità e rolling update in Swarm

Ridimensioni i servizi nell'intero swarm, esegua rolling update senza downtime e ripristini automaticamente la versione precedente quando un aggiornamento non va a buon fine.

Lezione 4 di 413 passaggi

Scalabilità e rolling update in Swarm è una lezione Docker & DevOps Fundamentals gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Docker & DevOps Fundamentals, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Docker & DevOps Fundamentals include 4 lezioni in totale.

I servizi sono scalabili

In Swarm un service descrive un numero desiderato di repliche identiche del container. Il manager dello swarm lavora costantemente per mantenerne in esecuzione quel numero tra i vari nodi.

Scalare un servizio

Modificare in qualsiasi momento il numero di repliche con docker service scale. Lo scheduler distribuisce i nuovi task tra i nodi disponibili.

docker service scale web=5

Impostare la scalabilità al momento della creazione

È possibile impostare le repliche anche durante la creazione del servizio con --replicas.

docker service create --name web --replicas 3 -p 80:80 nginx

Controllare lo stato delle repliche

Usare docker service ls per un riepilogo e docker service ps per vedere ogni task e il nodo su cui viene eseguito.

docker service ps web

Che cos'è un aggiornamento progressivo?

Un aggiornamento progressivo sostituisce le repliche poche alla volta, così il servizio rimane disponibile per tutta la durata dell'operazione. Swarm offre questa funzionalità integrata.

Attivare un aggiornamento

Indicare una nuova immagine per un servizio con docker service update --image. Swarm sostituisce gradualmente i task secondo la policy di aggiornamento.

docker service update --image nginx:1.27 web

Controllare il rollout

Regolare il rollout con il parallelismo e il ritardo: indicano quanti task modificare contemporaneamente e quanto attendere tra un gruppo e l'altro.

docker service update \
 --update-parallelism 2 \
 --update-delay 10s \
 --image nginx:1.27 web

Azione in caso di errore dell'aggiornamento

Impostare --update-failure-action su rollback affinché un aggiornamento che fallisce venga annullato automaticamente, invece di lasciare il servizio non funzionante.

docker service update \
 --update-failure-action rollback \
 --image nginx:1.27 web

Rollback manuale

Se un aggiornamento presenta problemi, docker service rollback riporta immediatamente il servizio alla specifica precedente.

docker service rollback web

I controlli di salute guidano gli aggiornamenti

Un HEALTHCHECK del container permette a Swarm di sapere se una nuova replica è veramente pronta. Insieme alla policy di aggiornamento, impedisce di indirizzare il traffico verso task non funzionanti.

HEALTHCHECK --interval=10s CMD curl -f http://localhost/ || exit 1

Globale e replicato

I servizi replicati eseguono un numero fisso di task; i servizi globali ne eseguono esattamente uno per nodo, una soluzione ideale per agent come i raccoglitori di log. La scalabilità non si applica alla modalità globale.

docker service create --mode global --name agent myagent

Verifica rapida

In che modo un aggiornamento progressivo mantiene disponibile il servizio?

Riepilogo

Ora è possibile gestire con sicurezza i servizi Swarm:

  • docker service scale modifica il numero di repliche
  • service update --image attiva gli aggiornamenti progressivi
  • Parallelismo, ritardo e --update-failure-action rollback controllano la sicurezza
  • service rollback annulla le modifiche; i controlli di salute regolano la disponibilità

Insieme, queste funzionalità consentono distribuzioni senza downtime su uno swarm.

Gratis per iniziare

Impara Docker & DevOps Fundamentals con un tutor IA — gratis

Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.

Corsi
12
Lezioni
48

Domande Frequenti

La lezione «Scalabilità e rolling update in Swarm» è gratuita?

Sì — il testo completo di «Scalabilità e rolling update in Swarm» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Docker & DevOps Fundamentals, passa a CoddyKit PRO. Il corso Docker & DevOps Fundamentals include 4 lezioni in totale.

Cosa imparerò in «Scalabilità e rolling update in Swarm»?

Ridimensioni i servizi nell'intero swarm, esegua rolling update senza downtime e ripristini automaticamente la versione precedente quando un aggiornamento non va a buon fine. Eserciti Docker & DevOps Fundamentals con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Docker & DevOps Fundamentals?

Non è richiesta alcuna esperienza precedente. Docker & DevOps Fundamentals su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.

Quanto tempo richiede la lezione «Scalabilità e rolling update in Swarm»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Docker & DevOps Fundamentals?

Sì. Ogni lezione Docker & DevOps Fundamentals include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Introduzione a Docker Swarm
  2. Configurazione di un cluster Swarm
  3. Distribuzione di servizi su Swarm
  4. Scalabilità e rolling update in Swarm
← Torna a Docker & DevOps Fundamentals