Zum Hauptinhalt springen
Version: 3.0.0-alpha (Diátaxis)

Automatische Sicherungen konfigurieren

Diese Anleitung erklärt, wie Sie automatische Sicherungen Ihrer MySQL-Datenbank auf Hikube aktivieren und konfigurieren. Die Sicherungen verwenden Restic und werden in einem S3-kompatiblen Bucket gespeichert, was eine zuverlässige Wiederherstellung bei Datenverlust ermöglicht.

Voraussetzungen

  • kubectl konfiguriert mit Ihrer Hikube-Kubeconfig
  • Eine MySQL-Instanz auf Ihrem Tenant bereitgestellt
  • Ein zugänglicher S3-kompatibler Bucket (Hikube Object Storage, AWS S3, etc.)
  • S3-Zugangsdaten (Access Key und Secret Key)

Schritte

1. S3-Speicher und Anmeldedaten vorbereiten

Stellen Sie vor der Konfiguration der Sicherungen sicher, dass Sie die folgenden Informationen haben:

InformationBeispielBeschreibung
S3-Regioneu-central-1Region des S3-Buckets
S3-Buckets3.hikube.cloud/mysql-backupsVollständiger Pfad des Buckets
Access KeyHIKUBE123ACCESSKEYS3-Zugriffsschlüssel
Secret KeyHIKUBE456SECRETKEYS3-Geheimschlüssel
Restic-PasswortSuperStrongResticPassword!Passwort für die Verschlüsselung der Sicherungen
Warnung

Bewahren Sie das Restic-Passwort an einem sicheren Ort auf. Ohne dieses Passwort ist es unmöglich, die verschlüsselten Sicherungen wiederherzustellen.

2. Backup-Abschnitt im Manifest konfigurieren

Erstellen oder ändern Sie Ihr MySQL-Manifest, um den Abschnitt backup einzufügen:

mysql-with-backup.yaml
apiVersion: apps.cozystack.io/v1alpha1
kind: MariaDB
metadata:
name: example
spec:
replicas: 3
size: 10Gi
resourcesPreset: small

users:
appuser:
password: strongpassword
maxUserConnections: 100

databases:
myapp:
roles:
admin:
- appuser

backup:
enabled: true
schedule: "0 2 * * *" # Täglich um 2 Uhr morgens
cleanupStrategy: "--keep-last=3 --keep-daily=3 --keep-within-weekly=1m"
s3Region: eu-central-1
s3Bucket: s3.hikube.cloud/mysql-backups
s3AccessKey: "HIKUBE123ACCESSKEY"
s3SecretKey: "HIKUBE456SECRETKEY"
resticPassword: "SuperStrongResticPassword!"

Backup-Parameter

ParameterBeschreibungStandardwert
backup.enabledSicherungen aktivierenfalse
backup.scheduleCron-Zeitplan"0 2 * * *"
backup.s3RegionAWS S3-Region"us-east-1"
backup.s3BucketS3-Bucket-
backup.s3AccessKeyS3-Zugriffsschlüssel-
backup.s3SecretKeyS3-Geheimschlüssel-
backup.resticPasswordRestic-Passwort-
backup.cleanupStrategyAufbewahrungsstrategie"--keep-last=3 --keep-daily=3 --keep-within-weekly=1m"
Tipp

Passen Sie den schedule an Ihre Bedürfnisse an. Einige gängige Beispiele:

  • "0 2 * * *": täglich um 2:00 Uhr morgens
  • "0 */6 * * *": alle 6 Stunden
  • "0 3 * * 0": jeden Sonntag um 3:00 Uhr morgens

3. Konfiguration anwenden

kubectl apply -f mysql-with-backup.yaml

4. Aufbewahrungsstrategie anpassen

Die cleanupStrategy verwendet die Aufbewahrungsoptionen von Restic. Hier einige Beispiele:

StrategieBeschreibung
--keep-last=3Die letzten 3 Snapshots behalten
--keep-daily=71 Snapshot pro Tag für 7 Tage behalten
--keep-weekly=41 Snapshot pro Woche für 4 Wochen behalten
--keep-within-weekly=1mAlle wöchentlichen Snapshots des letzten Monats behalten

Beispiel für eine Produktionsumgebung:

mysql-production-backup.yaml
apiVersion: apps.cozystack.io/v1alpha1
kind: MariaDB
metadata:
name: production
spec:
replicas: 3
resourcesPreset: medium
size: 50Gi

backup:
enabled: true
schedule: "0 */6 * * *"
cleanupStrategy: "--keep-last=7 --keep-daily=7 --keep-weekly=4"
s3Region: eu-central-1
s3Bucket: s3.hikube.cloud/mysql-backups
s3AccessKey: "PROD_ACCESS_KEY"
s3SecretKey: "PROD_SECRET_KEY"
resticPassword: "ProdResticPassword!"

Überprüfung

Überprüfen Sie, dass die Konfiguration korrekt angewendet wurde:

kubectl get mariadb example -o yaml | grep -A 10 backup

Erwartetes Ergebnis:

  backup:
enabled: true
schedule: "0 2 * * *"
s3Region: eu-central-1
s3Bucket: s3.hikube.cloud/mysql-backups
cleanupStrategy: "--keep-last=3 --keep-daily=3 --keep-within-weekly=1m"
Hinweis

Die erste Sicherung wird gemäß dem in schedule definierten Cron-Zeitplan ausgeführt. Sie können die verfügbaren Snapshots mit dem Restic-Befehl überprüfen (siehe Anleitung Sicherung wiederherstellen).

Weiterführende Informationen