Wie man den Befehl docker volume update verwendet, um die Verfügbarkeit von Cluster-Volumes zu verwalten

DockerDockerBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab lernen Sie, wie Sie die Verfügbarkeit von Docker-Cluster-Volumes mit dem Befehl docker volume update verwalten können. Sie beginnen damit, ein Cluster-Volume zu erstellen, das für die Datenfreigabe zwischen Knoten in einem Docker Swarm unerlässlich ist.

Nachdem Sie das Volume erstellt haben, werden Sie untersuchen, wie Sie den Verfügbarkeitszustand des Volumes ändern können. Dies umfasst das Aktualisieren der Verfügbarkeit auf pause, wodurch verhindert wird, dass neue Tasks das Volume nutzen, und anschließend auf drain, um Tasks von Knoten zu verlagern, auf denen das Volume nicht verfügbar ist. Abschließend lernen Sie, wie Sie die Verfügbarkeit wieder auf active setzen, damit das Volume von neuen und bestehenden Tasks vollständig genutzt werden kann. In diesem Lab erhalten Sie praktische Erfahrungen in der Steuerung des Zugriffs auf und der Nutzung Ihrer Cluster-Volumes in einer Swarm-Umgebung.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ContainerOperationsGroup(["Container Operations"]) docker(("Docker")) -.-> docker/VolumeOperationsGroup(["Volume Operations"]) docker/ContainerOperationsGroup -.-> docker/ls("List Containers") docker/ContainerOperationsGroup -.-> docker/inspect("Inspect Container") docker/VolumeOperationsGroup -.-> docker/volume("Manage Volumes") subgraph Lab Skills docker/ls -.-> lab-555263{{"Wie man den Befehl docker volume update verwendet, um die Verfügbarkeit von Cluster-Volumes zu verwalten"}} docker/inspect -.-> lab-555263{{"Wie man den Befehl docker volume update verwendet, um die Verfügbarkeit von Cluster-Volumes zu verwalten"}} docker/volume -.-> lab-555263{{"Wie man den Befehl docker volume update verwendet, um die Verfügbarkeit von Cluster-Volumes zu verwalten"}} end

Erstellen eines Cluster-Volumes

In diesem Schritt lernen wir, wie man ein Cluster-Volume in Docker erstellt. Ein Cluster-Volume ist ein Volume, auf das von mehreren Containern auf verschiedenen Knoten in einem Docker Swarm zugegriffen werden kann. Dies ist nützlich für Anwendungen, die Daten teilen müssen, wie z. B. Datenbanken oder Dateiserver.

Bevor wir ein Cluster-Volume erstellen, müssen wir sicherstellen, dass Docker Swarm initialisiert ist. Wenn Sie Swarm noch nicht initialisiert haben, können Sie dies mit dem folgenden Befehl tun:

docker swarm init

Sie sollten eine Ausgabe sehen, die anzeigt, dass das Swarm initialisiert wurde.

Jetzt erstellen wir ein Cluster-Volume. Wir verwenden den Befehl docker volume create mit der Option --driver local und geben den Volumennamen an. Der local-Treiber ist der Standardtreiber und eignet sich für die Erstellung von Volumes auf einem einzelnen Knoten. Bei einem Cluster-Volume übernimmt Docker Swarm die Verteilung und den Zugriff über die Knoten hinweg.

docker volume create my-cluster-volume

Nachdem Sie den Befehl ausgeführt haben, sollte der Name des erstellten Volumes in der Konsole angezeigt werden:

my-cluster-volume

Um zu überprüfen, ob das Volume erstellt wurde, können Sie die vorhandenen Volumes mit dem Befehl docker volume ls auflisten:

docker volume ls

Sie sollten my-cluster-volume in der Ausgabe sehen.

Aktualisieren der Verfügbarkeit eines Cluster-Volumes auf "pause"

In diesem Schritt lernen wir, wie man die Verfügbarkeit eines Cluster-Volumes auf pause (Pause) setzt. Wenn die Verfügbarkeit eines Volumes auf pause eingestellt ist, werden neue Tasks, die auf dieses Volume angewiesen sind, nicht auf Knoten geplant, auf denen das Volume nicht verfügbar ist. Bestehende Tasks, die das Volume nutzen, laufen weiterhin. Dieser Zustand ist nützlich, um vorübergehend die neue Nutzung eines Volumes zu verhindern, ohne die aktuell laufenden Dienste zu unterbrechen.

Wir verwenden den Befehl docker volume update, um die Verfügbarkeit des my-cluster-volume, das wir im vorherigen Schritt erstellt haben, zu ändern. Mit der Option --availability geben wir den gewünschten Verfügbarkeitszustand an.

docker volume update --availability pause my-cluster-volume

Nach der Ausführung des Befehls sollte eine Ausgabe erscheinen, die die Aktualisierung bestätigt:

my-cluster-volume

Um zu überprüfen, ob die Verfügbarkeit des Volumes auf pause aktualisiert wurde, können wir das Volume mit dem Befehl docker volume inspect untersuchen und nach dem Feld Availability suchen.

docker volume inspect my-cluster-volume

In der Ausgabe des inspect-Befehls suchen Sie nach dem Feld Availability im Abschnitt Spec. Es sollte pause anzeigen.

[
  {
    "CreatedAt": "...",
    "Driver": "local",
    "Labels": {},
    "Mountpoint": "/var/lib/docker/volumes/my-cluster-volume/_data",
    "Name": "my-cluster-volume",
    "Options": null,
    "Scope": "local",
    "Spec": {
      "Availability": "pause"
    },
    "Status": {}
  }
]

Aktualisieren der Verfügbarkeit eines Cluster-Volumes auf "drain"

In diesem Schritt lernen wir, wie man die Verfügbarkeit eines Cluster-Volumes auf drain (Ausschleusen) setzt. Wenn die Verfügbarkeit eines Volumes auf drain eingestellt ist, werden neue Tasks, die auf dieses Volume angewiesen sind, nicht auf Knoten geplant, auf denen das Volume nicht verfügbar ist. Darüber hinaus wird Docker Swarm versuchen, bestehende Tasks, die das Volume nutzen, herunterzufahren und sie auf Knoten neu zu planen, auf denen das Volume verfügbar ist. Dieser Zustand ist nützlich, um Dienste gracefully (sanft) von einem Volume weg zu migrieren, bevor Wartungsarbeiten durchgeführt oder das Volume entfernt werden.

Wir verwenden erneut den Befehl docker volume update, aber diesmal setzen wir die Option --availability auf drain.

docker volume update --availability drain my-cluster-volume

Sie sollten den Volumennamen als Bestätigung sehen:

my-cluster-volume

Um zu überprüfen, ob die Verfügbarkeit des Volumes auf drain aktualisiert wurde, untersuchen wir das Volume mit docker volume inspect und prüfen das Feld Availability.

docker volume inspect my-cluster-volume

Stellen Sie in der Ausgabe sicher, dass das Feld Availability im Abschnitt Spec jetzt drain lautet.

[
  {
    "CreatedAt": "...",
    "Driver": "local",
    "Labels": {},
    "Mountpoint": "/var/lib/docker/volumes/my-cluster-volume/_data",
    "Name": "my-cluster-volume",
    "Options": null,
    "Scope": "local",
    "Spec": {
      "Availability": "drain"
    },
    "Status": {}
  }
]

Aktualisieren der Verfügbarkeit eines Cluster-Volumes auf "active"

In diesem letzten Schritt lernen wir, wie man die Verfügbarkeit eines Cluster-Volumes wieder auf active (Aktiv) setzt. Wenn die Verfügbarkeit eines Volumes auf active eingestellt ist, können neue Tasks, die auf dieses Volume angewiesen sind, auf jedem Knoten geplant werden, auf dem das Volume verfügbar ist. Dies ist der Standardzustand für ein Volume und zeigt an, dass es für die Nutzung durch Dienste bereit ist.

Wir verwenden den Befehl docker volume update ein letztes Mal und setzen die Option --availability auf active.

docker volume update --availability active my-cluster-volume

Sie sollten den Volumennamen als Bestätigung sehen:

my-cluster-volume

Um zu überprüfen, ob die Verfügbarkeit des Volumes erfolgreich wieder auf active gesetzt wurde, untersuchen wir das Volume mit docker volume inspect und prüfen das Feld Availability.

docker volume inspect my-cluster-volume

Stellen Sie in der Ausgabe sicher, dass das Feld Availability im Abschnitt Spec jetzt active lautet.

[
  {
    "CreatedAt": "...",
    "Driver": "local",
    "Labels": {},
    "Mountpoint": "/var/lib/docker/volumes/my-cluster-volume/_data",
    "Name": "my-cluster-volume",
    "Options": null,
    "Scope": "local",
    "Spec": {
      "Availability": "active"
    },
    "Status": {}
  }
]

Sie haben nun erfolgreich ein Cluster-Volume erstellt und das Aktualisieren seiner Verfügbarkeit zwischen den Zuständen pause, drain und active geübt.

Zusammenfassung

In diesem Lab haben wir gelernt, wie man die Verfügbarkeit von Docker-Cluster-Volumes mit dem Befehl docker volume update verwaltet. Wir haben begonnen, indem wir ein Cluster-Volume mit docker volume create erstellt haben.

Anschließend haben wir untersucht, wie man den Verfügbarkeitszustand des Volumes ändern kann. Wir haben gelernt, die Verfügbarkeit auf pause (Pausieren) zu setzen, was verhindert, dass neue Tasks das Volume nutzen, während bestehende Tasks weiterhin laufen können. Dann haben wir gesehen, wie man die Verfügbarkeit auf drain (Ausschleusen) ändern kann, was versucht, Tasks, die das Volume nutzen, zu stoppen und sie woanders neu zu planen. Schließlich haben wir gelernt, die Verfügbarkeit wieder auf active (Aktiv) zu setzen, damit neue Tasks das Volume nutzen können. Diese Schritte haben die Flexibilität bei der Verwaltung des Zugriffs auf Cluster-Volumes in einer Docker Swarm-Umgebung gezeigt.