Commit Graph
25 Commits
Author SHA1 Message Date
Ruben Hensen 175769d36c Add a tool to VACUUM the k8s-dqlite database
dqlite supports VACUUM from v1.18.2, which microk8s 1.34 ships, but the dqlite shell wraps every statement in a transaction and SQLite refuses to VACUUM inside one. dqlite-vacuum sends it through the go-dqlite driver instead and otherwise just prints page statistics. dqlite-vacuum.sh makes the backups first.

Rehearsed on opti1 on a throwaway node in /dev/shm: 657 MB to 41 MB in 0.6s, with concurrent writes unaffected and the data intact after restarts.
2026-10-23 22:03:30 +02:00
Ruben Hensen c55b7ceab5 docs: tick off microk8s 1.34
v1.34.9 runs with the dqlite snapshot tuning intact. LIST latency is unchanged from 1.33, so the ConsistentListFromCache stalls of canonical/microk8s#5568 don't show here.
2026-10-23 21:42:44 +02:00
Ruben Hensen 67abb0b972 docs: prepare the move to microk8s 1.34
k8s-dqlite v1.8.1 in microk8s 1.34 already bundles dqlite 1.18.2, so the database can be vacuumed from 1.34 on. Also notes the containerd 2 jump at 1.35, the feature gates the 1.34 hook adds for kine, and the front-proxy certificate that expired in 2025.
2026-10-23 21:35:16 +02:00
Ruben Hensen a07ef664cb docs: tick off the Envoy Gateway migration 2026-10-23 21:29:37 +02:00
Ruben Hensen 48f5c7d894 docs: tick off the switch to Envoy Gateway and the Longhorn login 2026-10-23 21:17:04 +02:00
Ruben Hensen 23aaf5ab26 docs: tick off the routes and note what the switch-over needs 2026-10-23 21:02:10 +02:00
Ruben Hensen 8e508080d7 docs: plan the Envoy Gateway phases
Phase 1 is done: Envoy Gateway runs next to ingress-nginx on test ports.
2026-10-23 17:27:49 +02:00
Ruben Hensen 3a250b65cc docs: tick off cert-manager 1.21.2 2026-10-23 17:22:22 +02:00
Ruben Hensen 336c37ca50 docs: tick off microk8s 1.33
The node runs v1.33.13 (snap revision 9067). kubelite logs the #5057 message but has not panicked or restarted, and the dqlite snapshot tuning carried over.
2026-10-23 17:06:27 +02:00
Ruben Hensen c3830cd9d7 docs: tick off the dqlite snapshot tuning
Over the first 40 minutes after the restart: snapshots 24.7 minutes apart instead of ~3, none of 9,445 lease updates took over 4s, and neither the CNPG operator nor the snapshot-controller restarted.
2026-10-23 00:53:11 +02:00
Ruben Hensen 6a782ff174 docs: plan the route to Kubernetes 1.36
1.34 brings the reworked k8s-dqlite write path, 1.36 a dqlite that can VACUUM the mostly empty datastore. Lists the per-hop checks, the one-way schema migration at 1.34, the components that still need to move for 1.35/1.36, and the staged dqlite tuning script on opti1.
2026-10-23 00:11:27 +02:00
Ruben Hensen 6508335914 docs: diagnose the k8s-dqlite write stalls
The dqlite SQLite file is ~709 MB with 95% free pages, so every 1,024 commits dqlite writes a ~150 MB snapshot that stalls commits for seconds and makes controllers lose leader election. Plan: larger snapshot threshold in tuning.yaml now, microk8s 1.34+ for the real fix.
2026-10-23 00:04:41 +02:00
Ruben Hensen 69edd7ef4c docs: tick off Calico 3.29.3, note the dqlite latency 2026-10-22 23:49:05 +02:00
Ruben Hensen 01470a260c docs: tick off Argo CD 3.4.12 2026-10-22 23:39:14 +02:00
Ruben Hensen 108455de9c docs: tick off External Secrets 2.13.0 2026-10-22 23:07:32 +02:00
Ruben Hensen 2a2594a987 docs: tick off CloudNativePG 1.30.1 and the Vault chart 2026-10-22 16:27:13 +02:00
Ruben Hensen bdbabde317 docs: tick off Velero 1.16.2
Test backup of gatus and ntfy completed on the new version.
2026-10-22 15:32:57 +02:00
Ruben Hensen f36b90557b docs: tick off cert-manager 1.20.4
All certificates stayed Ready through the five hops, and a test Certificate for s2.rubenhensen.nl was issued by Let's Encrypt over HTTP-01. The 1.19 chart left a duplicate tokenrequest RoleBinding behind, removed by hand.
2026-10-22 15:21:28 +02:00
Ruben Hensen ce881ac7d7 docs: tick off Longhorn 1.11.2
Longhorn is done: all volumes on engine v1.11.2, PV nodeAffinity unchanged, offline replica rebuilding still off, 17 test backups written.
2026-10-22 15:00:08 +02:00
Ruben Hensen d0b36b6542 docs: tick off Longhorn 1.10.2
All volumes on engine v1.10.2 with 19 replicas, backup target fine, 17 test backups written.
2026-10-22 14:40:22 +02:00
Ruben Hensen 53f01c65dc docs: tick off Longhorn 1.9.2
All volumes on engine v1.9.2, backup target fine, 17 test backups written. Every Longhorn CRD already stores only v1beta2.
2026-10-22 14:19:28 +02:00
Ruben Hensen f390b3a70d docs: tick off Longhorn 1.8.2
All 19 volumes on engine v1.8.2, BackupTarget default points at the NAS, and a manual run of backup-daily wrote 17 backups.
2026-10-22 14:01:30 +02:00
Ruben Hensen f2c1b9ac06 docs: fix the Longhorn important-notes links
Docs for older Longhorn versions live under /docs/archives/.
2026-10-22 13:27:28 +02:00
Ruben Hensen 119f7729f6 docs: tick off upgrade step 1
All Longhorn volumes run engine v1.7.3, the 1.7.1 and 1.7.2 engine images are gone, and system backup pre-upgrade-v1-7-3-20261022 is Ready.
2026-10-22 12:58:59 +02:00
Ruben Hensen 8aaf2ec8ec Plan the move to Kubernetes 1.33
Envoy Gateway v1.9 needs Kubernetes 1.33, and microk8s 1.32 is out of
upstream support. docs/upgrade-k8s-1.33.md lists what has to move first
and in which order. Renovate is held below Longhorn 1.11.3, since that
and newer releases need Kubernetes 1.34.
2026-10-22 12:56:07 +02:00