docs: slice 2 — the pointer holds and class B keeps one destination each
rohana now resolves to 10.0.0.3 from inside the cluster and TLS still validates over that path, both measured from a pod. wikijs reaches exactly that one address and nothing else; a triggered synapse-backup ran through and wrote its archive, so the storage box allowance carries. Nine open workloads became five. The DNS pointer needed a step the design did not know about. The ConfigMap is mounted optional, and when it does not exist at pod start the kubelet does not fill it in later - CoreDNS kept reporting the missing import for two and a half minutes. A restart was required, and with maxUnavailable 1 on a single replica a rollout restart would have meant a cluster-wide DNS gap. Scaled to two instead, let the new pod load the zone, removed the old one, scaled back. DNS was served at every moment. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01F2Q4Ri8NGwyTZzScvKnWFM
This commit is contained in:
co-authored by
Claude Opus 5
parent
b0837b79cf
commit
20cfeae0a8
@@ -408,4 +408,48 @@ für kaputt, während er nur langsam ist.
|
||||
|
||||
**Status:** `DONE`
|
||||
|
||||
> **STOP — Slice-Review.** Freigegeben durch sorb, 2026-08-21.
|
||||
|
||||
### Slice 2 — DNS-Zeiger und Welle 2: Klasse B
|
||||
|
||||
- [x] **Zeiger setzen** — files: `apps/base/infra/coredns-custom.yaml` —
|
||||
verify: Auflösung und TLS aus einem Pod — done.
|
||||
- [x] **Welle 2 ausrollen** — files: `apps/production/networkpolicy.yaml` —
|
||||
verify: Sperre und Erlaubnis je gegengeprüft — done.
|
||||
|
||||
**Evidence.**
|
||||
|
||||
Der Zeiger wirkt: `rohana.axion1337.de -> 10.0.0.3`, und die TLS-Prüfung
|
||||
geht über diesen Weg durch — beides aus einem Pod gemessen, nicht am
|
||||
Manifest gelesen.
|
||||
|
||||
Aus `wikijs`, nach der Welle:
|
||||
|
||||
```
|
||||
CoreDNS (Positivkontrolle): ERREICHBAR
|
||||
rohana privat (erlaubt): ERREICHBAR
|
||||
Storage Box (nicht erlaubt): blockiert
|
||||
1.1.1.1 (nicht erlaubt): blockiert
|
||||
rohana oeffentlich: blockiert
|
||||
```
|
||||
|
||||
Für die Job-artigen greift die Auswahl erst beim nächsten Lauf, also wurde
|
||||
einer ausgelöst: `synapse-backup` lief **erfolgreich** durch und schrieb
|
||||
sein Archiv — die Storage-Box-Erlaubnis trägt.
|
||||
|
||||
Bestand: von neun auf **fünf**. Offen bleiben nur noch die echt breiten:
|
||||
`synapse-main`, `matrix-authentication-service`, `matrix-rtc-sfu`,
|
||||
`coturn`, `clamav`.
|
||||
|
||||
⚠️ **Der DNS-Zeiger brauchte einen Handgriff, den der Entwurf nicht kannte.**
|
||||
Die ConfigMap ist als *optional* eingehängt; war sie beim Start des Pods
|
||||
nicht da, zieht Kubelet sie nicht nach — CoreDNS meldete zweieinhalb Minuten
|
||||
lang weiter `No files matching import glob pattern`. Ein Neustart war nötig.
|
||||
Weil das Deployment `maxUnavailable: 1` bei **einer** Replik führt, hätte
|
||||
`rollout restart` eine clusterweite DNS-Lücke bedeutet; stattdessen auf zwei
|
||||
Repliken hoch, den neuen Pod die Zone laden lassen, den alten entfernen,
|
||||
zurück auf eine. Zu keinem Zeitpunkt war DNS ohne Bedienung.
|
||||
|
||||
**Status:** `DONE`
|
||||
|
||||
> **STOP — Slice-Review.**
|
||||
|
||||
Reference in New Issue
Block a user