Erweiterte Cluster mit gkectl sichern und wiederherstellen

In diesem Dokument wird beschrieben, wie Sie Administrator- und Nutzercluster von Google Distributed Cloud Version 1.32 und höher sichern und wiederherstellen, für die erweiterte Cluster aktiviert ist.

Der Sicherungs- und Wiederherstellungsprozess gkectl enthält keine nichtflüchtigen Volumes. Alle Volumes, die vom lokalen Volume-Bereitsteller (Local Volume Provisioner, LVP) erstellt werden, bleiben unverändert.

Cluster sichern

Mit dem Befehl gkectl backup cluster werden die Clusterinformationen aus dem etcd-Speicher und die PKI-Zertifikate für den angegebenen Cluster einer TAR-Datei hinzugefügt. Der etcd-Speicher ist der Kubernetes-Sicherungsspeicher für alle Clusterdaten. Er enthält alle Kubernetes-Objekte und benutzerdefinierten Objekte, die zur Verwaltung des Clusterstatus erforderlich sind. Die PKI-Zertifikate werden für die Authentifizierung über Transport Layer Security (TLS) verwendet. Diese Daten werden von der Steuerungsebene des Clusters oder von einer der Steuerungsebenen für ein HA-Deployment (Hochverfügbarkeit) gesichert.

Die TAR-Datei für die Sicherung enthält vertrauliche Anmeldedaten, einschließlich der Dienstkontoschlüssel und des SSH-Schlüssels. Speichern Sie Sicherungsdateien an einem sicheren Ort. Um eine unbeabsichtigte Dateisichtbarkeit zu verhindern, verwendet der Sicherungsprozess nur speicherinterne Dateien.

Sichern Sie Ihre Cluster regelmäßig, um dafür zu sorgen, dass die Snapshot-Daten relativ aktuell sind. Passen Sie die Sicherungsrate entsprechend der Häufigkeit signifikanter Änderungen an Ihren Clustern an.

Prüfen Sie vor Beginn, ob Ihr Cluster ordnungsgemäß mit funktionierenden Anmeldedaten und SSH-Verbindungen zu allen Knoten funktioniert. Der Sicherungsprozess besteht darin, Ihren Cluster in einem als funktionierend bekannten Zustand zu erfassen, damit Sie den Vorgang wiederherstellen können, wenn ein schwerwiegender Fehler auftritt.

So sichern Sie einen Cluster:

  1. Führen Sie den folgenden Befehl aus, um den Cluster zu prüfen:

    gkectl diagnose cluster --cluster-name CLUSTER_NAME \
        --kubeconfig ADMIN_KUBECONFIG
    

    Ersetzen Sie Folgendes:

    • CLUSTER_NAME: der Name des Clusters, den Sie sichern möchten.

    • Ersetzen Sie dabei ADMIN_KUBECONFIG durch den Pfad der kubeconfig-Datei für den Administratorcluster.

  2. Führen Sie den entsprechenden Befehl aus, um den Cluster zu sichern:

    Administratorcluster

    gkectl backup admin --kubeconfig ADMIN_KUBECONFIG
    

    Nutzercluster

    gkectl backup cluster --cluster-name CLUSTER_NAME \
        --kubeconfig ADMIN_KUBECONFIG
    

Standardmäßig wird die TAR-Sicherungsdatei im Verzeichnis gkectl-workspace/backups auf Ihrer Administrator-Workstation gespeichert. Die TAR-Datei heißt CLUSTER_NAME_backup_TIMESTAMP.tar.gz, wobei CLUSTER_NAME der Name des zu sichernden Clusters und TIMESTAMP das Datum und die Uhrzeit der Sicherung sind. Wenn der Clustername beispielsweise testuser lautet, hat die Sicherungsdatei einen Namen wie testuser_backup_2006-01-02T150405Z0700.tar.gz. Verwenden Sie das Flag --backup-file, um einen anderen Namen und einen anderen Speicherort für Ihre Sicherungsdatei anzugeben.

Die Sicherungsdatei läuft nach einem Jahr ab und der Clusterwiederherstellungsprozess funktioniert nicht mit abgelaufenen Sicherungsdateien.

Die Sicherungsdatei kann auch auf Ihren vCenter-Server hochgeladen werden, wenn der folgende Abschnitt in der Konfigurationsdatei des Administratorclusters konfiguriert ist: clusterBackup:

datastore: DATASTORE

Ersetzen Sie DATASTORE durch den Datenspeicher, in dem Sie die Sicherung speichern möchten. Der Datenspeicher muss sich im selben Rechenzentrum wie der Administratorcluster befinden. Die Sicherungen befinden sich im Verzeichnis anthos/CLUSTER_NAME/backup des angegebenen Datenspeichers.

Cluster wiederherstellen

Die Wiederherstellung eines Clusters aus einer Sicherung ist das letzte Mittel, das angewendet werden sollte, wenn ein Cluster komplett fehlgeschlagen ist und nicht auf andere Weise wieder funktionsfähig gemacht werden kann. Dies kann beispielsweise der Fall sein, wenn die etcd-Daten beschädigt sind oder wenn sich der etcd-Pod in einer Absturzschleife befindet.

Die TAR-Datei für die Sicherung enthält vertrauliche Anmeldedaten, einschließlich der Dienstkontoschlüssel und des SSH-Schlüssels. Um eine unbeabsichtigte Dateisichtbarkeit zu verhindern, verwendet der Wiederherstellungsprozess von Google Distributed Cloud nur speicherinterne Dateien.

Bevor Sie einen Cluster wiederherstellen, müssen die folgenden Bedingungen erfüllt sein:

  • Achten Sie darauf, dass alle Knotenmaschinen der Kontrollebene, die zum Zeitpunkt der Sicherung für den Cluster verfügbar waren, ordnungsgemäß funktionieren und erreichbar sind.
  • Achten Sie darauf, dass die SSH-Verbindung zwischen den Knoten mit den SSH-Schlüsseln funktioniert, die zum Zeitpunkt der Sicherung verwendet wurden. Diese SSH-Schlüssel werden im Rahmen des Wiederherstellungsprozesses wiederhergestellt.
  • Achten Sie darauf, dass die zum Zeitpunkt der Sicherung verwendeten Dienstkontoschlüssel weiterhin aktiv sind. Diese Dienstkontoschlüssel werden für den wiederhergestellten Cluster reaktiviert.

So stellen Sie einen Cluster wieder her:

  1. Führen Sie den entsprechenden Befehl aus, um den Cluster wiederherzustellen:

    Administratorcluster

    gkectl restore admin --backup-file BACKUP_FILE \
        --config ADMIN_CONFIG
    

    Ersetzen Sie Folgendes:

    • BACKUP_FILE: der Pfad und der Name der Sicherungsdatei, die Sie verwenden.

    • ADMIN_CONFIG: der Pfad zur Konfigurationsdatei des Administratorclusters.

    Nutzercluster

    gkectl restore cluster --cluster-name CLUSTER_NAME \
        --backup-file BACKUP_FILE \
        --kubeconfig ADMIN_KUBECONFIG
    

    Ersetzen Sie Folgendes:

    • CLUSTER_NAME: der Name des Clusters, den Sie wiederherstellen.

    • BACKUP_FILE: der Pfad und der Name der Sicherungsdatei, die Sie verwenden.

    • ADMIN_KUBECONFIG: der Pfad zur kubeconfig-Datei des Administratorclusters.

    Am Ende des Wiederherstellungsprozesses wird eine neue kubeconfig-Datei für den wiederhergestellten Cluster im Arbeitsbereichsverzeichnis gkectl-workspace generiert.

  2. Wenn die Wiederherstellung abgeschlossen ist, führen Sie den folgenden Befehl aus, um zu prüfen, ob sie erfolgreich war:

    gkectl diagnose cluster --cluster-name CLUSTER_NAME \
        --kubeconfig GENERATED_KUBECONFIG
    

    Ersetzen Sie GENERATED_KUBECONFIG durch die generierte kubeconfig-Datei.

Fehlerbehebung

Wenn Sie Probleme mit dem Sichern oder Wiederherstellen haben, können Ihnen die folgenden Abschnitte bei der Fehlerbehebung helfen.

Wenn Sie weitere Unterstützung benötigen, wenden Sie sich an das Cloud Customer Care-Team.

Nicht genügend Arbeitsspeicher während einer Sicherung oder Wiederherstellung

Wenn die Workstation, auf der Sie den Befehl gkectl ausführen, nicht viel RAM hat, ist möglicherweise nicht genügend Arbeitsspeicher für die Sicherung oder Wiederherstellung verfügbar. Erstellen Sie bei Bedarf ein temporäres Auslagerungslaufwerk und verwenden Sie es, um die Sicherungs- oder Wiederherstellungsvorgänge zu verarbeiten. Verwenden Sie dazu den Parameter --use-disk im Befehl „backup“. Um die Dateiberechtigungen beizubehalten, werden mit diesem Parameter die Berechtigungen der Dateien geändert. Daher müssen Sie den Befehl als Root-Nutzer ausführen (oder sudo verwenden).

Aktualisierung des SSH-Schlüssels nach einer Sicherung bricht den Wiederherstellungsprozess ab

SSH-bezogene Vorgänge während der Wiederherstellung können fehlschlagen, wenn der SSH-Schlüssel nach der Sicherung aktualisiert wird. In diesem Fall ist der neue SSH-Schlüssel für die Wiederherstellung ungültig. Um dieses Problem zu beheben, können Sie den ursprünglichen SSH-Schlüssel vorübergehend wieder hinzufügen und dann die Wiederherstellung ausführen. Nach Abschluss der Wiederherstellung können Sie den SSH-Schlüssel rotieren.