RKE2 Cheatsheet

RKE2 CheatsheetKapitel 06 von 11

RKE2 etcd Snapshot und Restore

Stand RKE2 1.37 · Edition 2026.11 · Release-Daten geprüft am 30. Oktober 2026

Snapshots

Automatisch an by default: etcd-snapshot-schedule-cron (Default alle 12h), etcd-snapshot-retention (Default 5, je Server-Node). Ablage: /var/lib/rancher/rke2/server/db/snapshots.

Off-node nach S3 sichern, sonst ist der Snapshot mit dem Node verloren. etcd-s3-retention (Default 5) zählt clusterweit je Bucket/Ordner. Alle Snapshots im Cluster: kubectl get etcdsnapshotfile.

# config.yaml (alle Server): Snapshots nach S3
etcd-s3: true
etcd-s3-endpoint: s3.example.com
etcd-s3-bucket: rke2-snapshots
etcd-s3-access-key: <key>
etcd-s3-secret-key: <secret>
rke2 etcd-snapshot save --name pre-upgrade
rke2 etcd-snapshot ls
# Restore (auf EINEM Server, andere vorher stoppen):
systemctl stop rke2-server
rke2 server \
  --cluster-reset \
  --cluster-reset-restore-path=/var/lib/rancher/rke2/server/db/snapshots/pre-upgrade-<node>-<ts>
systemctl start rke2-server

Restore-Ablauf

Restore läuft auf einem Server, alle anderen Server werden gestoppt und ihr db/-Verzeichnis geleert; danach re-joinen sie den zurückgesetzten Cluster über server: + token.

Mit etcd-s3 in der Config nur den Dateinamen angeben, für lokale Snapshots --etcd-s3=false setzen. Ohne den ursprünglichen token kein Restore: server/token sichern, auf neuem Host mit --token=<Wert> starten.

Quorum verloren (2 von 3 Servern weg): --cluster-reset ohne Restore-Pfad auf dem verbliebenen Server setzt etcd auf dieses Mitglied zurück, ohne Snapshot. Übrige Server danach leeren und neu joinen.