DevOps-bootcamp · Lektion

Skalning och rolling updates i Swarm

Skala tjänster över swarm-klustret, genomför rolling updates utan driftstopp och återställ automatiskt när en uppdatering går fel.

Lektion 4 av 413 steg

Skalning och rolling updates i Swarm är en gratis lektion i DevOps-bootcamp på CoddyKit. Detta är lektion 4 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för DevOps-bootcamp, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i DevOps-bootcamp innehåller totalt 4 lektioner.

Tjänster kan skalas

I Swarm beskriver en service ett önskat antal identiska container-replicas. Swarm-managern arbetar hela tiden för att hålla så många igång över noderna.

Skala en tjänst

Ändra antalet repliker när som helst med docker service scale. Schemaläggaren fördelar nya tasks över tillgängliga noder.

docker service scale web=5

Skala vid skapandet

Ni kan också ange antalet repliker när tjänsten skapas med --replicas.

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

Kontrollera replikstatus

Använd docker service ls för en sammanfattning och docker service ps för att se varje task och vilken nod den körs på.

docker service ps web

Vad är en rolling update?

En rolling update ersätter repliker några åt gången, så tjänsten förblir tillgänglig under hela uppdateringen. Swarm har stöd för detta inbyggt.

Utlös en uppdatering

Ange en ny image för en tjänst med docker service update --image. Swarm ersätter tasks gradvis enligt er uppdateringspolicy.

docker service update --image nginx:1.27 web

Styr utrullningen

Finjustera utrullningen med parallellism och fördröjning: hur många tasks som ändras samtidigt och hur länge ni väntar mellan batcherna.

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

Åtgärd vid uppdateringsfel

Ange --update-failure-action till rollback så att en misslyckad uppdatering automatiskt återställs i stället för att lämna tjänsten trasig.

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

Manuell återställning

Om en uppdatering inte fungerar som den ska återställer docker service rollback omedelbart tjänsten till dess föregående specifikation.

docker service rollback web

Health checks styr uppdateringar

En containers HEALTHCHECK låter Swarm veta om en ny replik verkligen är redo. Tillsammans med uppdateringspolicyn förhindrar detta att trafik skickas till trasiga tasks.

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

Globalt eller replikerat

Replikerade tjänster kör ett fast antal tasks; globala tjänster kör exakt en task per nod – idealiskt för agenter som logginsamlare. Skalning gäller inte i globalt läge.

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

Snabb kontroll

Hur håller en rolling update tjänsten tillgänglig?

Sammanfattning

Nu kan ni hantera Swarm-tjänster med säkerhet:

  • docker service scale ändrar antalet repliker
  • service update --image utlöser rolling updates
  • Parallellism, fördröjning och --update-failure-action rollback styr säkerheten
  • service rollback återställer tjänsten; health checks styr när den är redo

Tillsammans ger detta distributioner utan driftstopp i en swarm.

Gratis att börja

Lär dig DevOps-bootcamp med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
142
Lektioner
568

Vanliga frågor

Är lektionen ”Skalning och rolling updates i Swarm” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen DevOps-bootcamp, inklusive ”Skalning och rolling updates i Swarm”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i DevOps-bootcamp innehåller totalt 4 lektioner.

Vad lär jag mig i ”Skalning och rolling updates i Swarm”?

Skala tjänster över swarm-klustret, genomför rolling updates utan driftstopp och återställ automatiskt när en uppdatering går fel. Ni övar på DevOps-bootcamp med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig DevOps-bootcamp?

Du behöver inga förkunskaper. Utbildningen i DevOps-bootcamp på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 4 av 4.

Hur lång tid tar lektionen ”Skalning och rolling updates i Swarm”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här DevOps-bootcamp-lektionen?

Ja. Varje DevOps-bootcamp-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Introduktion till Docker Swarm
  2. Konfigurera ett Swarm-kluster
  3. Distribuera tjänster till Swarm
  4. Skalning och rolling updates i Swarm
← Tillbaka till DevOps-bootcamp