K3s Fleet Management
Manage distributed K3s nodes from a single dashboard — host discovery, provisioning, cluster lifecycle, storage, and workload orchestration with PodWarden.
K3s Fleet Management
K3s is a lightweight Kubernetes distribution that runs anywhere — mini PCs, NAS devices, cloud VPS instances, edge nodes. But managing a fleet of K3s nodes is manual by default: SSH into each machine, install K3s, join clusters, handle upgrades, monitor health. PodWarden automates K3s fleet management from a single control plane.
The Fleet Management Problem
As your K3s infrastructure grows, operational complexity scales with it:
- Provisioning: Manually installing K3s on each new node, configuring networking, joining clusters
- Upgrades: Coordinating K3s version upgrades across nodes without downtime
- Monitoring: No central view of node health, resource usage, or workload distribution
- Storage: Managing persistent storage across distributed nodes
- Networking: Configuring ingress, DNS, and TLS for services across the fleet
- Disaster recovery: No coordinated backup strategy across nodes
Each of these is solvable individually, but the combined operational overhead becomes significant. PodWarden addresses all of them in an integrated platform.
How PodWarden Manages K3s Fleets
Adding Hosts, with Tailscale Connectivity
Hosts are added by IP or hostname — PodWarden does not automatically enumerate devices from your Tailscale account. Once a host is added and probed, PodWarden records its hostname, OS, and hardware specs, and — if the host has a working Tailscale interface — detects that connection path so it can reach the host across network boundaries.
Tailscale also provides secure connectivity between nodes regardless of their physical location. Your homelab nodes, colocated servers, and cloud VPS instances all communicate over WireGuard tunnels without manual VPN configuration.
Ansible-Based Provisioning
Once PodWarden discovers a host, provisioning is one click. PodWarden uses Ansible under the hood to:
- Install K3s (server or agent role)
- Configure NVIDIA GPU runtime (if GPU detected)
- Set up Longhorn storage prerequisites
- Configure node labels and taints
- Join the host to a specified cluster
Provisioning takes minutes and produces a consistently configured node every time. No more "this node was set up differently because I forgot a step" problems.
Cluster Lifecycle Management
PodWarden manages the full K3s cluster lifecycle:
- Create clusters: Designate control plane and worker nodes
- Scale clusters: Add or remove nodes as your fleet changes
- Drain and cordon: Safely remove nodes for maintenance
- Monitor health: Node status, resource usage, and workload distribution
All from a single dashboard — no kubectl commands, no SSH sessions, no manual coordination.
Distributed Storage with Longhorn
Multi-node K3s needs distributed storage for persistent workloads. PodWarden integrates with Longhorn to provide:
- Replicated persistent volumes across nodes
- Automatic volume scheduling based on node capacity
- Snapshot and backup support integrated with PodWarden's backup policies
- Storage class management from the dashboard
When you deploy a stateful workload (database, file storage), Longhorn ensures the data survives node failures by replicating it across your fleet.
Centralized Workload Management
Deploy and manage workloads across your entire fleet from one place:
- Template catalog: 100+ pre-configured applications
- Resource scheduling: Workloads placed on nodes with available CPU, memory, and GPU
- Rolling updates: Update workload images without downtime
- Health monitoring: Automatic restart of failed containers
- Log aggregation: View workload logs from any node in the dashboard
Integrated Networking
PodWarden provides fleet-wide networking through:
- Caddy ingress: Single entry point for all services across all nodes
- DDNS: Dynamic DNS updates for residential or dynamic IP deployments
- Automatic TLS: Let's Encrypt certificates provisioned and renewed automatically
- Service routing: Map domains to workloads regardless of which node they run on
Example: 5-Node Distributed Fleet
| Node | Location | Hardware | Role |
|---|---|---|---|
| nuc-1 | Home office | Intel NUC i7, 32GB | Control plane + general workloads |
| nuc-2 | Home office | Intel NUC i5, 16GB | General workloads |
| gpu-1 | Home office | RTX 4090 workstation | GPU workloads |
| colo-1 | Colocation | Xeon E-2388G, 64GB | External-facing services |
| vps-1 | Hetzner Cloud | 4 vCPU, 8GB | Edge proxy + lightweight services |
PodWarden manages all five nodes as a unified fleet. Tailscale provides secure connectivity between locations. Workloads are scheduled based on resource requirements and node capabilities:
- Internal services (Home Assistant, databases) run on home nodes
- External-facing services (web apps, APIs) run on the colocated server
- GPU workloads (Ollama, Stable Diffusion) run on the GPU workstation
- Edge proxy and lightweight services run on the VPS
Fleet Operations
Adding a Node
- Install Tailscale on the new machine (optional, if it isn't on the same LAN as the others)
- Add it in PodWarden by IP or hostname, then probe it
- Click "Provision" — Ansible installs K3s and configures the node
- Assign it to a cluster
- Workloads can now be scheduled on it
Total time: 5–10 minutes.
Removing a Node
- Cordon the node (prevent new workloads)
- Drain existing workloads (they reschedule to other nodes)
- Remove from cluster
- Decommission or repurpose the hardware
Zero-downtime node removal with workload migration handled automatically by K3s.
Node Maintenance
- Cordon the node
- Drain workloads
- Perform maintenance (OS updates, hardware changes)
- Uncordon — workloads can return
PodWarden provides these operations as dashboard buttons — no kubectl drain commands to remember.
Getting Started
- Set up Tailscale on all your machines if they span locations (free for personal use, up to 100 devices)
- Deploy PodWarden on any machine in the network
- Add and provision your hosts into K3s nodes
- Create clusters by grouping nodes
- Install Longhorn for distributed storage
- Deploy workloads and configure networking
Your distributed fleet becomes a managed platform in under an hour. As you add hardware, PodWarden scales with you — same workflow for 3 nodes or 30.