Backup-Übersicht¶
Übersicht¶
Die Polycrate API bietet eine zentrale Read-Only-Ansicht auf alle Velero-Backups in Ihren überwachten Kubernetes-Clustern. So behalten Sie den Überblick über den Backup-Status aller Cluster und werden bei Problemen sofort benachrichtigt.
Read-Only-Integration
Die Polycrate API zeigt Backup-Status an, triggert aber keine Backups oder Restores. Die Konfiguration und Ausführung von Backups erfolgt direkt in den Kubernetes-Clustern via Velero.
Architektur¶
Das Backup-Monitoring ist in den Polycrate Operator integriert. Der Operator erkennt Velero-Installationen im Cluster und synchronisiert Backup-Status automatisch mit der Polycrate API.
graph TB
subgraph cluster1[Kubernetes Cluster 1]
VELERO1[Velero]
OP1[Polycrate Operator]
BACKUP_CRD1[Backup CRs]
VELERO1 --> BACKUP_CRD1
OP1 -->|Liest| BACKUP_CRD1
end
subgraph cluster2[Kubernetes Cluster 2]
VELERO2[Velero]
OP2[Polycrate Operator]
BACKUP_CRD2[Backup CRs]
VELERO2 --> BACKUP_CRD2
OP2 -->|Liest| BACKUP_CRD2
end
subgraph api[Polycrate API]
OVERVIEW[Aggregierte Übersicht]
DASHBOARD[Status-Dashboard]
ALERTS[Alerts bei Problemen]
HISTORY[Historie & Trends]
end
OP1 -->|Push Status| api
OP2 -->|Push Status| api Operator-basiertes Backup-Monitoring (Standard)¶
In Kubernetes-Clustern mit installiertem Polycrate Operator werden Backups automatisch erkannt und an die API übermittelt:
- Velero-Erkennung: Operator prüft bei Cluster-Reconciliation auf Velero-Installation
- CRD-Lesen: Liest Backup, Schedule und BackupStorageLocation CRs
- Status-Push: Synchronisiert Backup-Status an die Polycrate API
- S3-Verknüpfung: Verknüpft Backups mit S3-Buckets aus BackupStorageLocation
Vorteile des Operator-basierten Ansatzes:
- ✅ Automatische Velero-Erkennung
- ✅ Echtzeit-Updates bei Backup-Status-Änderungen
- ✅ Keine manuelle Konfiguration erforderlich
- ✅ Funktioniert auch bei temporären API-Ausfällen
Fallback: API-Pull (ohne Operator)¶
Für Workspaces ohne verbundenen Polycrate Operator kann die API Backup-Status direkt vom Cluster abrufen:
graph LR
subgraph cluster[Cluster ohne Operator]
VELERO[Velero]
BACKUP_CRD[Backup CRs]
end
API[Polycrate API]
API -->|Pull Status| BACKUP_CRD Empfehlung
Für optimale Backup-Überwachung wird der Polycrate Operator empfohlen. Der Fallback-Modus bietet weniger Echtzeit-Updates und erfordert API-Zugriff auf den Cluster.
Was Sie sehen können¶
Backup-Dashboard¶
Unter Kubernetes → Backups finden Sie:
| Information | Beschreibung |
|---|---|
| Alle Backups | Übersicht aller Velero-Backups über alle Cluster |
| Status | completed, running, failed, partial |
| Cluster-Zuordnung | Welches Backup gehört zu welchem Cluster |
| Zeitstempel | Wann wurde das Backup gestartet/beendet |
| Ablauf | Wann läuft das Backup ab (Retention) |
Backup-Status¶
| Status | Bedeutung |
|---|---|
| pending | Backup geplant aber noch nicht gestartet |
| running | Backup läuft gerade |
| completed | Backup erfolgreich abgeschlossen |
| partial | Backup mit Warnungen abgeschlossen |
| failed | Backup fehlgeschlagen |
| expired | Backup abgelaufen |
Backup-Details¶
Für jedes Backup sichtbar:
- Erstellungszeitpunkt: Wann wurde gesichert?
- Ablaufzeit (Expiration): Wann wird das Backup gelöscht?
- Retention Policy: TTL-Konfiguration (z.B. "96h")
- Provider: Backup-Tool (Velero, CloudnativePG, etc.)
- S3-Bucket: Wo wird das Backup gespeichert?
- Velero-Statistiken: Volume Snapshots, Warnings, Errors
Backup-Arten¶
| Art | Beschreibung |
|---|---|
| cluster | Full Cluster Backup (alle Namespaces) |
| app | Application-spezifisches Backup |
| database | Datenbank-spezifisches Backup (z.B. CloudnativePG) |
Backup Schedules¶
Der Operator erkennt auch Velero Schedules und zeigt diese im Cluster-Detail:
# Beispiel: Erkannter Schedule
name: daily-backup
schedule: "0 2 * * *"
template:
includedNamespaces: ["*"]
snapshotVolumes: true
status:
phase: Enabled
lastBackup: "2025-01-27T02:00:00Z"
Cluster-übergreifende Übersicht¶
Die Polycrate API zeigt Backups aller verbundenen Cluster in einer einzigen Ansicht:
| Cluster | Letztes Backup | Status | Nächstes geplant |
|---|---|---|---|
| prod-eu | vor 2 Stunden | ✅ completed | in 22 Stunden |
| prod-us | vor 3 Stunden | ✅ completed | in 21 Stunden |
| staging | vor 1 Tag | ⚠️ partial | in 23 Stunden |
Vorteile der zentralen Übersicht¶
- Schnelle Problemerkennung: Fehlgeschlagene Backups sofort sichtbar
- Kein Cluster-Hopping: Alle Backup-Status an einem Ort
- Trend-Analyse: Erkennen von wiederkehrenden Problemen
- Compliance-Nachweis: Dokumentation der Backup-Ausführung
Metriken & Trends¶
Das Dashboard zeigt aggregierte Informationen:
- Backup-Erfolgsrate: % erfolgreiche Backups (letzte 7/30 Tage)
- Fehler-Trend: Nehmen Backup-Fehler zu oder ab?
- Durchschnittliche Backup-Größe: Pro Cluster/Namespace
- Letzte erfolgreiche Backups: Pro kritischem Namespace
Velero-Konfiguration (im Cluster)¶
Außerhalb der Polycrate API
Die folgenden Aktionen werden direkt im Kubernetes-Cluster durchgeführt, nicht in der Polycrate API.
Backup triggern¶
# Im Kubernetes-Cluster
velero backup create manual-backup-$(date +%Y%m%d) \
--include-namespaces production
Restore ausführen¶
Schedule konfigurieren¶
# Im Kubernetes-Cluster
velero schedule create daily-backup \
--schedule="0 2 * * *" \
--include-namespaces production \
--ttl 168h
Best Practices¶
Monitoring-Empfehlungen¶
- Polycrate Operator installieren: Für automatisches Backup-Monitoring
- Alert-Konfiguration prüfen: Stellen Sie sicher, dass Backup-Alerts aktiviert sind
- Regelmäßige Dashboard-Checks: Täglicher Blick auf Backup-Status
- Trend-Beobachtung: Achten Sie auf abnehmende Erfolgsraten
Bei Backup-Fehlern¶
- In der Polycrate API: Alert-Details und Fehlermeldung prüfen
- Im Cluster: Velero-Logs analysieren
- Storage prüfen: Ist der Backup-Storage erreichbar?
- Manuelles Retry: Backup manuell neu starten
Wichtige Namespaces überwachen¶
Stellen Sie sicher, dass kritische Namespaces regelmäßig gesichert werden:
- Produktions-Workloads
- Datenbanken und stateful Services
- Konfigurationen und Secrets
Unterstützte Backup-Provider¶
| Provider | Status | Beschreibung |
|---|---|---|
| Velero | ✅ Unterstützt | Cluster- und Application-Backups |
| CloudnativePG | 🔜 Geplant | PostgreSQL-Datenbank-Backups |