Skip to content

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.