Five Kubernetes node cards with load gauges; a pod is lifted from the overflowing first node to the nearly empty fifth one at night

Kubernetes Descheduler: Rebalancing Pods After a Drain

The Kubernetes scheduler never moves a running pod. How a rolling drain left my homelab cluster lopsided, and how descheduler fixes it every night.

September 28, 2026 · Jonathan Lupica
A PostgreSQL elephant pod hopping from the last pending node to an already-upgraded node during a rolling upgrade

Talos Rolling Upgrades: When a PDB Blocks the Drain

A single-instance PostgreSQL and its PodDisruptionBudget deadlocked my Talos rolling upgrade. How drains fail, and how to sequence around it.

July 3, 2026 · Jonathan Lupica
A crossed-out SSH terminal next to a machine config file driving three Talos nodes

Talos Linux: Kubernetes Without SSH in My Homelab

Why my homelab Kubernetes nodes run Talos Linux: an immutable, API-driven OS with no SSH, no shell, and machine configs versioned in git.

July 3, 2026 · Jonathan Lupica