2016-09-19 6 views
0

Wie funktioniert Docker Schwarm (1.12 +) mit Container Updates? Beispiel:Docker Container auf Schwarm aktualisieren?

Auf einem Knoten habe ich 2 Container, beide verwendet 4 GB Speicher, insgesamt ist 8 GB, was gleich der Knotengröße ist.

Was passiert, wenn ich die Speichergröße eines Containers z. 6 GB? Will swarm:

  • Container auf neuen Knoten umstellen, der 6 GB frei hat?
  • kann nicht aktualisiert werden?
  • funktioniert beide Behälter wie bisher?

Ich bin nicht in der Lage, selbst herauszufinden.

Antwort

1

Angenommen, Sie verwenden Dienste im Swarm und explizit reservierten Speicher pro Container, bleibt Ihr Dienst im Status "allokiert", wenn Sie versuchen, ihn zu aktualisieren, um mehr als verfügbaren Speicherplatz zu reservieren.

ZB: docker service create --replicas 1 --name nginx --reserve-memory 256M nginx wird erfolgreich und erstellen 1 Container mit 256MB reserviert für sie (wenn Sie Kapazität auf Ihrem Swarm haben). Dann laufen docker service update --reserve-memory 300G nginx und Docker wird:

  1. Shutdown der vorhandenen Container
  2. versuchen, einen neuen Behälter mit den angeforderten Ressourcen

Wenn Sie einen Knoten mit 300 GB zur Verfügung, die aktualisiert haben nicht planen Dienst kann nicht geplant werden und es wird in dem Allocated Status sitzen, so wird Ihr Dienst zu diesem Zeitpunkt nicht ausgeführt.

Der Scheduler prüft, ob die Ressourcen verfügbar sind, oder wenn Sie einen neuen update-Befehl mit einer niedrigeren Reserve ausführen, wird der Container wie angefordert erstellt.

Verwandte Themen