Wie man den docker node update-Befehl verwendet, um Swarm-Knoten 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 Docker Swarm-Knoten (Nodes) mit dem Befehl docker node update verwalten. Sie werden verschiedene Funktionen dieses Befehls erkunden, darunter das Aktualisieren der Verfügbarkeit eines Knotens, um die Platzierung von Aufgaben zu steuern, das Hinzufügen und Entfernen von Labels, um Knoten für Einschränkungen bei der Aufgabenplanung zu kategorisieren, und das Ändern der Rolle eines Knotens innerhalb des Swarms.

Durch praktische Übungen üben Sie das Anhalten eines Knotens, um neue Aufgaben zu verhindern, das Hinzufügen einzelner und mehrerer Labels zu Knoten, das Entfernen vorhandener Labels und das Befördern eines Worker-Knotens zur Manager-Rolle. Diese Schritte geben Ihnen praktische Erfahrungen in der Verwaltung des Zustands und der Attribute von Knoten in einem Docker Swarm-Cluster.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ContainerOperationsGroup(["Container Operations"]) docker/ContainerOperationsGroup -.-> docker/ls("List Containers") docker/ContainerOperationsGroup -.-> docker/ps("List Running Containers") docker/ContainerOperationsGroup -.-> docker/exec("Execute Command in Container") docker/ContainerOperationsGroup -.-> docker/inspect("Inspect Container") subgraph Lab Skills docker/ls -.-> lab-555186{{"Wie man den docker node update-Befehl verwendet, um Swarm-Knoten zu verwalten"}} docker/ps -.-> lab-555186{{"Wie man den docker node update-Befehl verwendet, um Swarm-Knoten zu verwalten"}} docker/exec -.-> lab-555186{{"Wie man den docker node update-Befehl verwendet, um Swarm-Knoten zu verwalten"}} docker/inspect -.-> lab-555186{{"Wie man den docker node update-Befehl verwendet, um Swarm-Knoten zu verwalten"}} end

Aktualisieren der Knotenverfügbarkeit auf "pause"

In diesem Schritt lernen wir, wie man die Verfügbarkeit eines Knotens in einem Docker Swarm aktualisiert. Die Verfügbarkeit eines Knotens bestimmt, ob ein Knoten neue Aufgaben erhalten kann. Die möglichen Verfügbarkeitszustände sind active, pause und drain.

  • active: Der Knoten kann neue Aufgaben erhalten. Dies ist der Standardzustand.
  • pause: Der Knoten erhält keine neuen Aufgaben, aber bestehende Aufgaben laufen weiter.
  • drain: Der Knoten erhält keine neuen Aufgaben, und bestehende Aufgaben werden gestoppt und auf anderen Knoten neu geplant.

Wir werden die Verfügbarkeit des aktuellen Knotens auf pause ändern. Zunächst müssen wir die ID des aktuellen Knotens finden. Wir können den Befehl docker node ls verwenden, um die Knoten im Swarm aufzulisten.

docker node ls

Die Ausgabe zeigt eine Liste der Knoten, einschließlich ihrer ID, des Hostnamens, des Status, der Verfügbarkeit und des Manager-Status. Identifizieren Sie die ID des Knotens, auf dem Sie derzeit arbeiten.

Nun verwenden Sie den Befehl docker node update mit der Option --availability pause und der Knoten-ID, um die Verfügbarkeit des Knotens zu ändern. Ersetzen Sie <node_id> durch die tatsächliche ID Ihres Knotens.

docker node update --availability pause <node_id>

Nach der Ausführung des Befehls können Sie die Änderung überprüfen, indem Sie erneut docker node ls ausführen. Die Verfügbarkeit Ihres Knotens sollte jetzt pause sein.

docker node ls

Hinzufügen eines Labels zu einem Knoten

In diesem Schritt lernen wir, wie man einem Knoten in einem Docker Swarm ein Label hinzufügt. Labels sind Schlüssel-Wert-Paare, die Sie an Knoten anhängen können. Sie sind nützlich, um Knoten basierend auf bestimmten Kriterien zu organisieren und auszuwählen, was für Einschränkungen bei der Aufgabenplatzierung verwendet werden kann.

Wir werden dem aktuellen Knoten ein Label namens env mit dem Wert dev hinzufügen. Stellen Sie zunächst sicher, dass Sie die Knoten-ID aus dem vorherigen Schritt haben. Wenn nicht, können Sie sie erneut mit docker node ls abrufen.

docker node ls

Nun verwenden Sie den Befehl docker node update mit der Option --label-add, dem Label im Format key=value und der Knoten-ID. Ersetzen Sie <node_id> durch die tatsächliche ID Ihres Knotens.

docker node update --label-add env=dev <node_id>

Nachdem Sie das Label hinzugefügt haben, können Sie den Knoten untersuchen, um das hinzugefügte Label zu sehen. Verwenden Sie den Befehl docker node inspect gefolgt von der Knoten-ID.

docker node inspect <node_id>

Suchen Sie im Output nach dem Abschnitt Labels. Dort sollte das Label env: dev aufgeführt sein.

Mehrere Labels zu einem Knoten hinzufügen

In diesem Schritt lernen wir, wie man mehreren Labels gleichzeitig einem Knoten hinzufügt. Sie können mehrere Labels hinzufügen, indem Sie die Option --label-add für jedes Label wiederholen, das Sie hinzufügen möchten.

Wir werden zwei neue Labels zum aktuellen Knoten hinzufügen: tier mit dem Wert frontend und region mit dem Wert us-east. Stellen Sie sicher, dass Sie die Knoten-ID aus den vorherigen Schritten haben.

Verwenden Sie den Befehl docker node update mit mehreren --label-add-Optionen und der Knoten-ID. Ersetzen Sie <node_id> durch die tatsächliche ID Ihres Knotens.

docker node update --label-add tier=frontend --label-add region=us-east <node_id>

Nachdem Sie die Labels hinzugefügt haben, untersuchen Sie den Knoten erneut, um sicherzustellen, dass alle Labels korrekt hinzugefügt wurden.

docker node inspect <node_id>

Im Labels-Abschnitt der Ausgabe sollten Sie jetzt env: dev, tier: frontend und region: us-east sehen.

Entfernen eines Labels von einem Knoten

In diesem Schritt lernen wir, wie man ein Label von einem Knoten in einem Docker Swarm entfernt. Sie können ein Label entfernen, indem Sie den Befehl docker node update mit der Option --label-rm verwenden, gefolgt vom Label-Schlüssel.

Wir werden das region-Label entfernen, das wir im vorherigen Schritt hinzugefügt haben. Stellen Sie sicher, dass Sie die Knoten-ID haben.

Verwenden Sie den Befehl docker node update mit der Option --label-rm und dem Label-Schlüssel (region), gefolgt von der Knoten-ID. Ersetzen Sie <node_id> durch die tatsächliche ID Ihres Knotens.

docker node update --label-rm region <node_id>

Nachdem Sie das Label entfernt haben, untersuchen Sie den Knoten erneut, um sicherzustellen, dass das Label entfernt wurde.

docker node inspect <node_id>

Im Labels-Abschnitt der Ausgabe sollten Sie jetzt env: dev und tier: frontend sehen, aber das region: us-east-Label sollte verschwunden sein.

Aktualisieren der Rolle eines Knotens zu Manager

In diesem Schritt lernen wir, wie man die Rolle eines Knotens in einem Docker Swarm aktualisiert. Ein Knoten kann eine von zwei Rollen haben: manager oder worker. Manager-Knoten übernehmen die Verwaltungstasks des Swarms, während Worker-Knoten Dienste ausführen.

Wir werden den aktuellen Knoten zur Rolle eines Managers befördern. Stellen Sie sicher, dass Sie die Knoten-ID haben.

Verwenden Sie den Befehl docker node update mit der Option --role manager und der Knoten-ID. Ersetzen Sie <node_id> durch die tatsächliche ID Ihres Knotens.

docker node update --role manager <node_id>

Nachdem Sie die Rolle aktualisiert haben, überprüfen Sie die Änderung, indem Sie die Knoten auflisten.

docker node ls

Die Ausgabe sollte jetzt die Rolle Ihres Knotens als Manager anzeigen.

Zusammenfassung

In diesem Lab haben wir gelernt, wie man Docker Swarm-Knoten mit dem Befehl docker node update verwaltet. Wir haben mehrere Schlüsseloperationen behandelt, darunter die Aktualisierung der Verfügbarkeit eines Knotens auf pause, um zu verhindern, dass er neue Aufgaben erhält, während bestehende Aufgaben weiterhin laufen können.

Darüber hinaus haben wir untersucht, wie man Labels von Knoten hinzufügt und entfernt. Wir haben gelernt, ein einzelnes Label mit --label-add key=value hinzuzufügen und mehrere Labels gleichzeitig hinzuzufügen. Wir haben auch geübt, ein bestimmtes Label mit --label-rm key zu entfernen. Schließlich haben wir gezeigt, wie man die Rolle eines Knotens auf manager ändert, was die Flexibilität des Befehls docker node update bei der Verwaltung des Zustands und der Konfiguration von Knoten in einem Docker Swarm unterstreicht.