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

Konzepte — PostgreSQL

Architektur

PostgreSQL auf Hikube ist ein verwalteter Dienst basierend auf dem Operator CloudNativePG. Jede über die Ressource Postgres bereitgestellte Instanz erstellt einen replizierten Cluster mit automatischem Failover, Streaming-Replikation und integrierter Sicherung.


Terminologie

BegriffBeschreibung
PostgresKubernetes-Ressource (apps.cozystack.io/v1alpha1), die einen verwalteten PostgreSQL-Cluster darstellt.
PrimaryHauptinstanz, die Lese- und Schreibvorgänge akzeptiert.
ReplicaSchreibgeschützte Instanz, die über Streaming-Replikation vom Primary synchronisiert wird.
CloudNativePGKubernetes-Operator, der den Lebenszyklus von PostgreSQL-Clustern verwaltet (Bereitstellung, Failover, Backup).
PITRPoint-In-Time Recovery — Wiederherstellung zu einem bestimmten Zeitpunkt dank kontinuierlicher WAL-Archivierung.
WALWrite-Ahead Log — Transaktionsjournal von PostgreSQL, Grundlage für PITR und Replikation.
QuorumMindestanzahl synchroner Replikas, die vor der Bestätigung eines Schreibvorgangs erforderlich sind.
resourcesPresetVordefiniertes Ressourcenprofil (nano bis 2xlarge) zur Vereinfachung der Dimensionierung.

Replikation und Hochverfügbarkeit

CloudNativePG gewährleistet Hochverfügbarkeit durch:

  1. Streaming Replication: Die Replikas erhalten die WAL in Echtzeit vom Primary
  2. Automatisches Failover: Wenn der Primary ausfällt, wird automatisch ein Replika befördert
  3. Synchrone Replikation (optional): Der Primary wartet auf die Schreibbestätigung der Replikas, bevor eine Transaktion validiert wird

Das Feld quorum definiert die Anzahl der synchronen Replikas:

  • quorum: 0 (Standard) — asynchrone Replikation, beste Leistung
  • quorum: 1 — mindestens 1 synchrones Replika, Schutz vor Datenverlust
Tipp

Konfigurieren Sie für die Produktion replicas: 3 und quorum: 1 für einen guten Kompromiss zwischen Leistung und Haltbarkeit.


Sicherung und Wiederherstellung

PostgreSQL auf Hikube unterstützt zwei Sicherungsmechanismen:

Kontinuierliche Sicherung (WAL-Archivierung)

Die WAL werden kontinuierlich in einen S3-Bucket archiviert. Dies ermöglicht PITR (Point-In-Time Recovery) — die Wiederherstellung der Datenbank zu jedem beliebigen Zeitpunkt in der Vergangenheit.

Geplante Sicherung

Ein Cron-Zeitplan löst vollständige Sicherungen (Base Backup) in regelmäßigen Abständen aus. Die Aufbewahrungsrichtlinie (retentionPolicy) bestimmt die Aufbewahrungsdauer.

ParameterBeschreibung
backup.scheduleCron-Zeitplan (z.B.: 0 2 * * *)
backup.retentionPolicyAufbewahrungsdauer (z.B.: 30d)
backup.s3*Anmeldedaten und Endpoint des S3-Buckets

Benutzer- und Datenbankverwaltung

Jeder PostgreSQL-Cluster ermöglicht die Deklaration von:

  • Benutzern mit Passwort
  • Datenbanken mit Owner
  • Rollen: admin (Lesen/Schreiben), readonly (nur Lesen)

Die Anmeldedaten werden in einem Kubernetes-Secret namens <instance>-credentials gespeichert.


Ressourcen-Presets

PresetCPUSpeicher
nano250m128Mi
micro500m256Mi
small1512Mi
medium11Gi
large22Gi
xlarge44Gi
2xlarge88Gi
Warnung

Wenn das Feld resources (explizite CPU/Speicher) definiert ist, wird resourcesPreset ignoriert. Die beiden Ansätze schließen sich gegenseitig aus.


Limits und Kontingente

ParameterWert
Max. ReplikasJe nach Tenant-Kontingent
SpeichergrößeVariabel (size in Gi)
Verbindungen pro BenutzerPro Datenbank konfigurierbar

Weiterführende Informationen