Haseeb ArshadHaseeb Arshad
← All projects
Core platformProduction

Highly Available Kubernetes Homelab

A three-node, production-style k3s platform designed for node loss, repeatable recovery, and continuous GitOps reconciliation.

k3sKubernetesArgo CDMetalLBLonghornCaddy

3

control-plane nodes

HA

embedded etcd

3x

replicated state

The challenge

What the system needed to solve

Turn a collection of home servers into a dependable platform that could survive routine maintenance and a single-node outage without becoming a fragile science project.

The build

Engineering decisions

01

Designed a three-node k3s topology in which every node participates in the control plane, etcd, and workload scheduling.

02

Separated public ingress, private service VIPs, stateful storage, and rollback administration so failures stay bounded.

03

Applied anti-affinity, PodDisruptionBudgets, readiness gates, resource limits, and restricted pod-security defaults across critical workloads.

04

Kept the original Docker host outside the cluster as a deliberate rollback and administration boundary during migration.

Architecture

How the pieces connect

  1. 1Git repository
  2. 2Argo CD reconciliation
  3. 3Three-node k3s cluster
  4. 4Replicated services and Longhorn volumes
  5. 5Caddy public/private edge

Results

What changed

  • Routine application updates roll through the cluster without taking public services offline.
  • Node-specific dependencies and recovery procedures are documented and tested instead of living as tribal knowledge.
  • The platform supports public websites, private applications, observability, AI services, mail, and data services on one consistent operating model.