Kubernetes edge — scheduling, storage class, and Longhorn roles standard¶
Purpose¶
Norms for node labels, taints/tolerations, and Longhorn disk roles on Pi / k3s edge clusters—so workloads land predictably and storage defaults are explicit.
Guides: How to provision k3s, Longhorn, and Rancher on a Raspberry Pi fleet · Longhorn role in the homelab / farm platform.
Standard¶
| Topic | Rule |
|---|---|
| Control-plane nodes | Document whether Longhorn replicas are allowed on server nodes; if no, use labels/taints so storage-heavy workloads do not starve etcd (align with Pi fleet provisioning standard narrative). |
| Storage-heavy agents | Prefer dedicated agent nodes with USB3 SSD for Longhorn disks; label longhorn-storage=true (or project convention) consistently. |
| Default StorageClass | Exactly one default SC for general workloads; document reclaim policy (Retain vs Delete) per environment—no silent default changes mid-season. |
| farmOS / DB PVCs | Name namespaces and PVC prefixes predictably (e.g. farmos-*) so backup jobs and DR tracks stay filterable (Kubernetes platform backup / DR). |
| Taints | Use taints for specialist nodes (e.g. GPU, dedicated ingress); every taint has a documented toleration in the workload that needs it. |
Anti-pattern: Mixing SD-card-only nodes into Longhorn replica counts for production farm data.