SQLite WAL Bloat Crashed a k3s Home Lab Running 20+ Production Operators
A Hetzner-hosted k3s single-node cluster, initially a small home lab, gradually accumulated over 20 production-grade operators including ArgoCD, Crossplane, and VictoriaMetrics, overwhelming its default SQLite-backed datastore. The compounding load from continuous leader-election leases caused kine's SQLite WAL file to balloon to 13.8 GB — larger than the 7.5 GB database itself — while row count hit 1.36 million and CPU load spiked to 79 on an 8-core machine. The operator diagnosed the issue only after ruling out individual API clients and SSHing directly into the node to inspect datastore metrics. An emergency WAL truncation halted the crisis, after which the control plane was migrated from SQLite via kine to embedded etcd, shrinking storage from 7.5 GB to 313 MB and dropping load average from 79 to 5. The incident highlights how a home lab can silently cross into production-scale failure territory without any formal transition point.
This is an AI-generated summary. ShortSingh links to the original source for the complete article.
Discussion (0)
Log in to join the discussion and vote.
Log in