|
Dieses Dokument wurde mithilfe automatisierter maschineller Übersetzungstechnologie übersetzt. Wir bemühen uns um korrekte Übersetzungen, übernehmen jedoch keine Gewähr für die Vollständigkeit, Richtigkeit oder Zuverlässigkeit der übersetzten Inhalte. Im Falle von Abweichungen ist die englische Originalversion maßgebend und stellt den verbindlichen Text dar. |
Entfernen von Kubernetes-Komponenten von Knoten
In diesem Abschnitt wird beschrieben, wie man einen Knoten von einem von Rancher gestarteten Kubernetes-Cluster trennt und alle Kubernetes-Komponenten vom Knoten entfernt. Dieser Prozess ermöglicht es Ihnen, den Knoten für andere Zwecke zu verwenden.
Wenn Sie Rancher verwenden, um Kubernetes auf neuen Knoten in einem Infrastruktur-Anbieter zu installieren, werden Ressourcen (Container/virtuelle Netzwerkschnittstellen) und Konfigurationselemente (Zertifikate/Konfigurationsdateien) erstellt.
Beim Entfernen von Knoten aus Ihrem von Rancher gestarteten Kubernetes-Cluster (vorausgesetzt, sie befinden sich im Active Zustand) werden diese Ressourcen automatisch bereinigt, und die einzige erforderliche Maßnahme besteht darin, den Knoten neu zu starten. Wenn ein Knoten unerreichbar geworden ist und der automatische Bereinigungsprozess nicht verwendet werden kann, beschreiben wir die Schritte, die ausgeführt werden müssen, bevor der Knoten wieder zu einem Cluster hinzugefügt werden kann.
Was wird entfernt?
Beim Bereinigen von Knoten, die mit Rancher bereitgestellt wurden, werden die folgenden Komponenten basierend auf dem Typ des Knotens, den Sie entfernen, gelöscht.
| Entfernte Komponente | Von einem Infrastruktur-Anbieter gehostete Knoten | Benutzerdefinierte Knoten | Gehosteter Cluster | Angemeldete Knoten |
|---|---|---|---|---|
Der Rancher-Bereitstellungs-Namespace ( |
✓ |
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
✓ |
Labels, Annotationen und Finalizer |
✓ |
✓ |
✓ |
✓ |
Rancher-Implementierung |
✓ |
✓ |
✓ |
|
Maschinen, Cluster, Projekte und benutzerdefinierte Ressourcenbeschreibungen (CRDs) |
✓ |
✓ |
✓ |
|
Alle Ressourcen, die unter der |
✓ |
✓ |
✓ |
|
Alle CRDs, die von Rancher v2.x erstellt wurden |
✓ |
✓ |
✓ |
Einen Knoten über die Rancher-Benutzeroberfläche aus einem Cluster entfernen
Wenn sich der Knoten im Zustand Active befindet, wird das Entfernen des Knotens aus einem Cluster einen Prozess auslösen, um den Knoten zu bereinigen. Bitte starten Sie den Knoten neu, nachdem der automatische Bereinigungsprozess abgeschlossen ist, um sicherzustellen, dass alle nicht persistenten Daten ordnungsgemäß entfernt werden.
Um einen Knoten neu zu starten:
# using reboot $ sudo reboot # using shutdown $ sudo shutdown -r now
Rancher-Komponenten manuell aus einem Cluster entfernen
Wenn ein Knoten nicht erreichbar ist und aus dem Cluster entfernt wird, kann der automatische Bereinigungsprozess nicht ausgelöst werden, da der Knoten nicht erreichbar ist. Bitte folgen Sie den untenstehenden Schritten, um die Rancher-Komponenten manuell zu entfernen.
|
Die unten aufgeführten Befehle entfernen Daten vom Knoten. Stellen Sie sicher, dass Sie eine Sicherung der Dateien erstellt haben, die Sie behalten möchten, bevor Sie einen der Befehle ausführen, da Daten verloren gehen. |
Rancher-Komponenten aus registrierten Clustern entfernen
Für registrierte Cluster ist der Prozess zum Entfernen von Rancher etwas anders. Sie haben die Möglichkeit, den Cluster einfach in der Rancher-Benutzeroberfläche zu löschen, oder Sie können ein Skript ausführen, das die Rancher-Komponenten von den Knoten entfernt. Beide Optionen führen zu denselben Löschvorgängen.
Nachdem der registrierte Cluster von Rancher getrennt wurde, bleiben die Arbeitslasten des Clusters unbeeinflusst, und Sie können auf den Cluster mit denselben Methoden zugreifen, die Sie vor der Registrierung des Clusters in Rancher verwendet haben.
-
Über die Benutzeroberfläche / API
-
Durch Skript
|
Dieser Prozess entfernt Daten aus Ihrem Cluster. Stellen Sie sicher, dass Sie eine Sicherung der Dateien erstellt haben, die Sie behalten möchten, bevor Sie den Befehl ausführen, da Daten verloren gehen. |
Nachdem Sie das Entfernen eines registrierten Clusters über die Rancher-Benutzeroberfläche (oder API) initiiert haben, treten die folgenden Ereignisse ein.
-
Rancher erstellt ein
serviceAccount, das es verwendet, um die Rancher-Komponenten aus dem Cluster zu entfernen. Dieses Konto hat die clusterRole und clusterRoleBinding Berechtigungen zugewiesen, die erforderlich sind, um die Rancher-Komponenten zu entfernen. -
Mit dem
serviceAccountplant und führt Rancher einen job aus, der die Rancher-Komponenten vom Cluster entfernt. Dieser Job verweist auch auf dieserviceAccountund deren Rollen als Abhängigkeiten, sodass der Job sie vor seinem Abschluss löscht. -
Rancher wird aus dem Cluster entfernt. Der Cluster bleibt jedoch bestehen und führt die native Version von Kubernetes aus.
Ergebnis: Alle für registrierte Cluster in Was wird entfernt? aufgeführten Komponenten werden gelöscht.
Anstatt die registrierten Clusterknoten über die Rancher-Benutzeroberfläche zu bereinigen, können Sie stattdessen ein Skript ausführen.
|
Voraussetzung
Installieren Sie kubectl. |
-
Öffnen Sie einen Webbrowser, navigieren Sie zu GitHub und laden Sie
user-cluster.shherunter. -
Machen Sie das Skript ausführbar, indem Sie den folgenden Befehl im selben Verzeichnis wie
user-cluster.shausführen:chmod +x user-cluster.sh
-
Nur für Air Gap-Umgebungen: Öffnen Sie
user-cluster.shund ersetzen Sieyaml_urldurch die URL inuser-cluster.yml.Wenn Sie keine Air Gap-Umgebung haben, überspringen Sie diesen Schritt.
-
Führen Sie aus demselben Verzeichnis das Skript aus und geben Sie die
rancher/rancher-agentBildversion an, die der Version von Rancher entsprechen sollte, die zur Verwaltung des Clusters verwendet wird. (<RANCHER_VERSION>):Fügen Sie das
-dry-runFlag hinzu, um das Ergebnis des Skripts anzuzeigen, ohne Änderungen vorzunehmen../user-cluster.sh rancher/rancher-agent:<RANCHER_VERSION>
Ergebnis: Das Skript wird ausgeführt. Alle für registrierte Cluster in Was wird entfernt? aufgeführten Komponenten werden gelöscht.
Bereinigung der Knoten
-
RKE2
-
K3s
|
Für Anweisungen zur Bereinigung von Knoten in RKE2-Clustern, die nicht von Rancher bereitgestellt wurden, siehe die offizielle RKE2-Dokumentation zum Deinstallieren von Clustern. |
Sie müssen die folgenden Komponenten von den von Rancher bereitgestellten RKE2-Knoten entfernen:
-
Der rancher-system-agent, der sich mit Rancher verbindet und RKE2 installiert und verwaltet.
-
RKE2 selbst.
Entfernen des rancher-system-agent
Um den rancher-system-agent zu entfernen, führen Sie das system-agent-uninstall.sh Skript aus:
curl https://raw.githubusercontent.com/rancher/system-agent/main/system-agent-uninstall.sh > system-agent-uninstall.sh
sudo sh system-agent-uninstall.sh
Entfernen von RKE2
Um die RKE2-Installation zu entfernen, führen Sie das rke2-uninstall Skript aus, das bereits auf dem Knoten vorhanden ist:
sudo rke2-uninstall.sh
Sie müssen die folgenden Komponenten von den von Rancher bereitgestellten K3s-Knoten entfernen:
-
Der rancher-system-agent, der sich mit Rancher verbindet und K3s installiert und verwaltet.
-
K3s selbst.
Entfernen des rancher-system-agent
Um den rancher-system-agent zu entfernen, führen Sie das system-agent-uninstall.sh Skript aus:
curl https://raw.githubusercontent.com/rancher/system-agent/main/system-agent-uninstall.sh > system-agent-uninstall.sh
sudo sh system-agent-uninstall.sh
Entfernen von K3s
Um die K3s-Installation zu entfernen, führen Sie das k3s-uninstall Skript aus, das bereits auf dem Knoten vorhanden ist:
sudo k3s-uninstall.sh
Verzeichnissen und Dateien
Die folgenden Verzeichnisse werden verwendet, wenn ein Knoten zu einem Cluster hinzugefügt wird, und sollten entfernt werden. Sie können ein Verzeichnis mit rm -rf /directory_name entfernen.
|
Je nach der Rolle, die Sie dem Knoten zugewiesen haben, können bestimmte Verzeichnisse auf dem Knoten vorhanden sein oder nicht. |
-
RKE2
-
K3s
| Verzeichnisse |
|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Um die Verzeichnisse zu bereinigen:
rm -rf /etc/ceph \
/etc/cni \
/etc/kubernetes \
/etc/rancher \
/opt/cni \
/run/calico \
/run/flannel \
/run/secrets/kubernetes.io \
/var/lib/calico \
/var/lib/cni \
/var/lib/etcd \
/var/lib/kubelet \
/var/lib/rancher \
/var/lib/weave \
/var/log/containers \
/var/log/pods \
/var/run/calico
| Verzeichnisse |
|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Um die Verzeichnisse zu bereinigen:
rm -rf /etc/ceph \
/etc/cni \
/etc/kubernetes \
/etc/rancher \
/etc/systemd/system/k3s \
/opt/cni \
/run/calico \
/run/flannel \
/run/secrets/kubernetes.io \
/usr/local/bin/k3s \
/var/lib/calico \
/var/lib/cni \
/var/lib/etcd \
/var/lib/kubelet \
/var/lib/rancher \
/var/lib/weave \
/var/log/containers \
/var/log/pods \
/var/run/calico
Netzwerkschnittstellen und Iptables
Die verbleibenden zwei Komponenten, die geändert/konfiguriert werden, sind (virtuelle) Netzwerkschnittstellen und Iptables-Regeln. Beide sind nicht persistent für den Knoten, was bedeutet, dass sie nach einem Neustart des Knotens gelöscht werden. Um diese Komponenten zu entfernen, wird ein Neustart empfohlen.
Um einen Knoten neu zu starten:
# using reboot $ sudo reboot # using shutdown $ sudo shutdown -r now
Wenn Sie mehr über (virtuelle) Netzwerkschnittstellen oder Iptables-Regeln erfahren möchten, lesen Sie bitte die spezifischen Themen unten.
Netzwerkschnittstellen
|
Je nach dem Netzwerkprovider, der für den Cluster konfiguriert ist, zu dem der Knoten gehörte, werden einige der Schnittstellen auf dem Knoten vorhanden sein oder nicht. |
| Schnittstellen |
|---|
|
|
|
|
|
Um alle Netzwerkschnittstellen aufzulisten:
# Using ip ip address show # Using ifconfig ifconfig -a
Um eine Netzwerkschnittstelle zu entfernen:
ip link delete interface_name
iptables
|
Je nach dem Netzwerkprovider, der für den Cluster konfiguriert ist, zu dem der Knoten gehörte, werden einige der Ketten auf dem Knoten vorhanden sein oder nicht. |
Iptables-Regeln werden verwendet, um den Datenverkehr von und zu Containern zu leiten. Die erstellten Regeln sind nicht persistent, sodass ein Neustart des Knotens iptables in seinen ursprünglichen Zustand zurücksetzt.
| Ketten |
|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Um alle iptables-Regeln aufzulisten:
iptables -L -t nat iptables -L -t mangle iptables -L