Raspberry Pi k3s fleet — validation checklist¶
Parent runbook: How to provision k3s, Longhorn, and Rancher on a Raspberry Pi fleet.
Cluster — mandatory¶
-
kubectl get nodes: all nodesReadywithout repeatedNotReadyflapping. -
kubectl get pods -A: core add-ons healthy (resolveCrashLoopBackOffbefore sign-off). - Time sync verified on each node (logs or
timedatectl). - Disk headroom on the etcd server node and on every Longhorn disk.
Longhorn — mandatory when Longhorn is in scope¶
- Disks schedulable on expected nodes (Longhorn UI or
kubectl). - Test PVC: bind, write, read, delete cycle succeeds.
- Replica policy documented per StorageClass or volume; observe CPU during rebuild (simulate with cordon/drain in lab).
Rancher — only if installed¶
- HTTPS endpoint loads with trusted certs (or documented lab exception).
- Admin bootstrap password rotated; break-glass access documented.
- Helm chart/value version pinned; upgrade path noted.
Backup — P1+ mandatory¶
- Application logical backup (e.g.
pg_dumppath) ran successfully at least once; artifact exists off-node. - Longhorn backup job succeeded, or deferral is explicitly logged with risk acceptance.
- Tabletop restore completed against a non-production namespace or lab cluster.
Performance sanity (Pi — mandatory honesty)¶
- Idle and loaded power measured for server + one agent (watts at wall where possible).
- During Longhorn rebuild, no sustained 100% CPU on all cores for routine work (
kubectl top nodesif metrics exist, orhtopon node).