Ohne Titel
4.3.2026
3.3.26
Kubernetes PostgreSQL – Streaming, Ablage und Import
Technische Referenz & Betriebsdokumentation
1. Ziel dieser Dokumentation
Dieses Dokument beschreibt:
- Zugriff auf PostgreSQL-Pods in Kubernetes
- Ablage großer SQL-Dateien im Persistent Volume (PV)
- Streaming von Git-Repositories ohne lokale Speicherung
- Sicheren und kontrollierten SQL-Import
- Umgang mit Kubernetes Secrets
- Risiken und empfohlene Vorgehensweisen
2. Platzhalter-Konvention
In allen Beispielen werden folgende Platzhalter verwendet:
<namespace>
<pod>
<secret>
<database>
<user>
<repo-url>
<commit>
<ordner>
<datei>
<key>
Diese sind projektspezifisch zu ersetzen.
3. Architekturüberblick
PostgreSQL speichert Daten im Persistent Volume unter:
/bitnami/postgresql
Wichtige Unterscheidung
| Pfad | Bedeutung |
|---|---|
/opt/bitnami | Container-Software |
/bitnami/postgresql | Daten (Persistent Volume) |
/tmp | Temporär, nicht persistent |
Ablage-Ordner für Import-Dateien:
/bitnami/postgresql/<ordner>
4. Kubernetes – Grundbefehle
Alle Pods anzeigen
kubectl get pods -A
Pods in einem Namespace anzeigen
kubectl get pods -n <namespace>
Befehl in Pod ausführen
kubectl exec -n <namespace> <pod> -- <command>
Interaktive Shell starten
kubectl exec -it -n <namespace> <pod> -- sh
5. Persistent Volume prüfen
Speicherplatz prüfen
kubectl exec -n <namespace> <pod> -- df -h /bitnami/postgresql
Ordnerinhalt anzeigen
kubectl exec -n <namespace> <pod> -- ls -lh /bitnami/postgresql/<ordner>
Anzahl Dateien zählen
kubectl exec -n <namespace> <pod> -- \
sh -lc 'ls -1 /bitnami/postgresql/<ordner> | wc -l'
6. Streaming – Einzelne Datei ins PV speichern (ohne Ausführung)
curl -L "<raw-file-url>" \
| kubectl exec -i -n <namespace> <pod> -- \
sh -lc 'cat > /bitnami/postgresql/<ordner>/<datei>.sql'
Eigenschaften:
- Kein lokales Speichern
- Kein Ausführen
- Reine Dateiablage im PV
7. Komplettes Repository direkt ins PV streamen
Repository als tar.gz streamen und entpacken
curl -L "<repo-url>/-/archive/<commit>/<project>-<commit>.tar.gz" \
| kubectl exec -i -n <namespace> <pod> -- \
sh -lc 'mkdir -p /bitnami/postgresql/<ordner> && \
cd /bitnami/postgresql/<ordner> && \
tar xz --strip-components=1'
Erklärung
curllädt Archiv- Stream wird direkt an Pod weitergereicht
tar xzentpackt im PV--strip-components=1entfernt obersten Archiv-Ordner
Vorteile
- Kein Speicherverbrauch auf Managementserver
- Reproduzierbarer Stand durch Commit
- Kein temporäres Ablegen
8. Kubernetes Secrets – Passwort abrufen
Secrets anzeigen
kubectl get secret -n <namespace>
Passwort dekodieren
kubectl get secret -n <namespace> <secret> \
-o jsonpath="{.data.<key>}" | base64 -d; echo
Typische Keys:
postgres-passwordpassword
9. SQL-Import – Einzeldatei
kubectl exec -i -n <namespace> <pod> -- \
psql -U <user> -d <database> \
-f /bitnami/postgresql/<ordner>/<datei>.sql
Wichtig:
- Datei wird ausgeführt
- Änderungen sind persistent
- Autocommit ist Standard
10. Batch-Import – Kontrollierte Ausführung
kubectl exec -it -n <namespace> <pod> -- sh -lc '
for f in /bitnami/postgresql/<ordner>/*.sql; do
echo "RUN $f"
psql -U <user> -d <database> \
-v ON_ERROR_STOP=1 \
-f "$f" || exit 1
done'
Eigenschaften:
- Klare Reihenfolge
- Stoppt bei Fehler
- Keine stille Fehlerfortsetzung
11. Wichtige Shell-Operatoren
| Operator | Bedeutung |
|---|---|
; | Immer nächsten Befehl ausführen |
&& | Nur bei Erfolg fortfahren |
> | Datei überschreiben |
>> | Datei anhängen |
$() | Befehl ausführen und Ergebnis einsetzen |
sh -lc | Mehrere Befehle im Pod ausführen |
12. Risiken & Sicherheitsaspekte
Autocommit-Verhalten
Wenn SQL-Dateien kein BEGIN; ... COMMIT; enthalten,
werden INSERT, DROP, TRUNCATE sofort wirksam.
Destruktive Befehle erkennen
Vor Ausführung prüfen:
grep -RInE "^\s*(DROP|TRUNCATE)\b" <ordner>
Empfohlene Reihenfolge
- Struktur-Dateien
- Daten-Dateien
- Views / Indizes / Constraints
Empfehlung
Vor großen Imports:
- Backup erstellen
- Import in Testumgebung prüfen
- Mit
ON_ERROR_STOP=1arbeiten
13. Best Practices
- Commit-Hash statt Branch verwenden
- Import-Ordner datiert benennen
- Dateien erst speichern, dann ausführen
- Speicherplatz vorab prüfen
- Große Datenmengen niemals über Managementserver speichern
- Batch-Import niemals ohne Fehlerstopp
14. Betriebszustand nach erfolgreichem Streaming
Erfolgsmerkmale
- Dateien liegen vollständig im PV
df -hzeigt erwartete Belegung- Keine laufenden
tar-Prozesse - Keine Fehlermeldungen beim Entpacken
15. Fazit
Das beschriebene Verfahren ermöglicht:
- Reproduzierbare Datenübernahme
- Speicherneutrales Streaming
- Saubere Trennung zwischen Ablage und Ausführung
- Sicheren produktiven Betrieb
Fasten-Brokkolicremesuppe
Portionen: 2 oder 3 kleine
Zubereitungszeit: ca. 40–45 Minuten
Kalorien: ca. 110–115 kcal pro Portion

Zutaten
- 1 Brokkoli (ca. 500 g)
- 1 kleine Möhre
- 40 g Sellerie
- untere weiße Hälfte einer Lauchstange
- 1 Zwiebel
- 2 Knoblauchzehen
- 1 Stängel Petersilie
- 1 Lorbeerblatt
- ca. 750 ml Wasser
- 10 g Butter
- 1 Prise Salz
- etwas schwarzer Pfeffer
- 1 Limette
- optional: 1 Prise Muskat
Zubereitung
- Brokkoli in Röschen teilen. Den Strunk schälen, grob würfeln und beiseitelegen.
- Zwiebel, Möhre und Sellerie in daumengroße Stücke schneiden und in der Butter bei mittlerer Hitze leicht anschwitzen.
- Brokkolistrunk und den längs halbierten, gründlich gewaschenen Lauch zugeben. Mit Wasser aufgießen, bis alles bedeckt ist.
- Eine Knoblauchzehe in Scheiben schneiden und zusammen mit Petersilie und Lorbeerblatt in den Topf geben. Leicht salzen und pfeffern.
- Die Brühe etwa 25 Minuten sanft köcheln lassen.
- Brühe durch ein Sieb gießen und das Lorbeerblatt entfernen.
- Brokkoliröschen sowie die zweite fein gehackte Knoblauchzehe in die Brühe geben.
- Aus dem Sieb etwa die Hälfte der Möhrenstücke sowie etwas Lauch, Sellerie und Strunk zurück in die Brühe geben.
- Weitere 12–15 Minuten sanft garen.
- Alles mindestens 1 Minute sehr fein pürieren, bis eine cremige Konsistenz entsteht.
- Mit Limettensaft, Pfeffer und optional Muskat abschmecken. Mit fein gehackter Petersilie bestreuen und servieren.
Tipp
- Je weniger Flüssigkeit am Ende im Topf ist, desto cremiger wird die Suppe.
- Ein Limettenviertel auf dem Teller unterstreicht die frische, leichte Note.
- Wird die Suppe zu dick, esslöffelweise heißes Wasser zugeben.
26.6.26
## Fastentomatenchremesuppe
* Portion: 2
* Zeit: 60-70 Minuten
* Kalorien je Portion: ca. 210j

## Zutaten
* [ ] 2 Möhren
* [ ] 75 g Sellerie
* [ ] 3 größere Tomaten
* [ ] die obere Hälfte einer Lauchstange
* [ ] 1 Zwiebel
* [ ] 2 Knoblauchzehen
* [ ] 1 Stengel Petersilie
* [ ] ca. 500ml Wasser
* [ ] Oregano, Thymian, Basilikum
* [ ] eine Prise Salz, etwas Pfeffer
* [ ] Limette, evtl. etwas Honig
## Kochen
* Zwiebeln und eine Knoblauchzehe in Scheiben Schneiden und in 15ml Olivenöl leicht rösten
* Lauch zerkleinern, waschen und hinzugebn, mit Wasser vorsichtig aufgießen bis alles bedeckt ist
* Salz, Pfeffer, Thymian und Oregano dazugeben
* Die Schale der Tomaten anritzen und über der kochenden Brühe in einem Sieb mitdünsten.
* Die Brühe nach 30 min durch ein Sieb gießen
* eine Knoblauchzehe klein schneiden, Tomaten schälen und zur Brühe geben
* Mit dem Basilikum noch 15 Minuten leicht köcheln
* 1 min Pürieren
* servieren
## Tipp
Suppe je nach Geschmack mit Limette und Honig abschmecken
Blumenkohlcremesuppe
Zubereitungszeit: ca. 20 Minuten
Portionen: 2 á ≈ 110 kcal pro Portion
Zutaten
- 400 g Blumenkohl (frisch in Röschen oder TK)
- 2 Möhren
- 1 halbe Lauchstange (heller bis weißer Teil)
- 50g Sellerie
- 1 Hand voll Petersilie
- 10 Gramm Butter
- 500–600 ml Wasser
- Salz (sparsam)
- Schwarzer Pfeffer
- 1 Prise Muskat
- 1–2 TL Zitronensaft
Zubereitung
- Frischen Blumenkohl zerkleinern; Tiefkühlblumenkohl gefroren bereitstellen
- Schneide Möhren und Sellerie in daumengroße Stücke, halbiere den Lauch, längs und quer und köchle (bei mir Herdstufe 2) es mit drei Viertel leicht zerkleinerter Petersilie, wenig Pfeffer und Muskat eine viertel Stunde lang
- Entnehme das Gemüse aus dem Sud und gib von den Möhren ungefähr die Hälfte wieder hinzu, vom Rest je ein Viertel
- Stelle den Herd wieder auf Maximum und gib den Blumenkohl dazu, gieße Wasser hinzu, bis der Kohl knapp bedeckt ist. Lass es aufkochen.
- Lass es aufkochen und dann alles noch einmal 12 Minuten sanft (nicht sprudelnd, bei mir Stufe 1,5) köcheln.
- Dann gib die Butter hinzu und püriere alles sehr fein (mind. 1 Minute für cremige Konsistenz).
- Mit Salz, Pfeffer, Muskat und Limettensaft abschmecken.
- Anrichten und mit Petersilie bestreuen.
Tipps für perfekte Konsistenz
- Wenig Flüssigkeit = mehr Cremigkeit.
- Längeres Pürieren verbessert die Bindung deutlich.
- Wird sie zu dick: esslöffelweise heißes Wasser zugeben.
Man sagt: TK-Blumenkohl soll die Suppe etwas weicher im Geschmack machen, frischer Blumenkohl wirkt aromatischer und leicht nussig.
