Hey everyone π
Now that you know the hardware powering my homelab
it is time to show how I turned those machines into a Proxmox cluster ready to host a production style Kubernetes environment π§βπ»βοΈ
This article covers the entire setup
including fixes for a few annoying real world problems π
Letβs get into it π
β Step 1. Update BIOS on Lenovo Tiny Nodes
Before installing Proxmox
I strongly recommend updating the BIOS of each node
Why it matters
β
fixes stability bugs
β
improves CPU performance and thermal handling
β
avoids random shutdowns or throttling
β
unlocks better hardware support
Old BIOS = unpredictable issues later
Flash now and enjoy peace later β
β Step 2. Install Proxmox VE
I installed Proxmox VE on each of my three Lenovo M920q nodes
using this simple naming and addressing plan:
Node Hostname IP
Node 1 pve1 192.168.1.21
Node 2 pve2 192.168.1.22
Node 3 pve3 192.168.1.23
DNS points to my Raspberry Pi β
Installation takes a few minutes
and Proxmox is ready through a browser π
β Step 3. Fix NIC Offloading Stability Issues
This one hit me hard π¬
I kept encountering:
β random node connectivity loss
β nodes freezing during network traffic
β SSH dropping without reason
Cause
π NIC offloading on Intel network adapters
Fix using this excellent community script
https://community-scripts.github.io/ProxmoxVE/scripts?id=nic-offloading-fix
After applying this
the cluster became rock solid β
If you run Lenovo Tiny
this fix is almost mandatory π
β Step 4. Create the Proxmox Cluster
On node pve1:
pvecm create homelab-cluster
On other nodes:
pvecm add 192.168.1.21
Now
I can manage all nodes from a single interface β
VMs can migrate easily between hosts β
Monitoring is unified β
Production vibes at home π
β Step 5. Flat Network Setup First
Managed Switch Comes Later
For now
the network is simple:
one Gigabit flat network
vmbr0 bridging the physical NIC
DHCP/static addressing for VMs
Benefits
β
simple
β
stable
β
easy to troubleshoot
Future upgrade:
πΉ Managed PoE switch
πΉ VLAN segmentation for Kubernetes traffic
πΉ Insights and better monitoring
Great now
but room to grow β
β Step 6. Main Storage: Synology NAS (NFS + iSCSI)
Persistent workloads require persistent storage
so my Synology NAS handles all Kubernetes storage
β
NFS for most apps
β
iSCSI for database style block volumes
β
RAID and snapshots for safety
β
Backup target for Proxmox VMs
The NAS is the data backbone of the homelab
exactly how storage is handled in production π
β Step 7. Automated Ubuntu 25.x Templates With Packer
To avoid manual VM setup
I automated template building using Packer
Operating system
π§© Ubuntu Server 25.x
Modern kernel and great container support
My Packer template creates VMs that are:
β cloud init ready
β qemu guest agent installed
β ssh enabled
β updated and hardened
β swap disabled for Kubernetes
This allows me to deploy
a brand new Kubernetes node VM in under 30 seconds π€―
Fast
repeatable
version controlled
Infrastructure as code for real π
β οΈ Important Real World Gotchas
Here are issues I personally hit
and how I fixed them β
Problem Cause Solution
Node freezes or network drops NIC offloading Apply NIC fix β
Unexpected reboots or throttling Old BIOS Flash BIOS β
High CPU temps under load Small chassis Tune cooling profile β
VMs or pods OOM Overcommit Reserve RAM for hypervisor β
Homelabs teach you technology
by breaking and fixing it
the best learning path π₯
β What We Have Achieved So Far
Feature Status
Three node Proxmox cluster β
Network stability β
NAS integrated for storage β
Custom VM templates β
Automation friendly β
Kubernetes ready foundation β
A real mini datacenter is now running in my home
quietly
efficiently
and fully under my control π‘β¨
β Coming Next
Deploying Kubernetes with Kubespray
In the next article you will see:
π₯ 3 high availability control plane nodes
π₯ 6 workers ready for workloads
π₯ DNS fully internal
π₯ main storage already integrated
π₯ GitOps and monitoring soon after
This is when the real fun begins ππ₯
Stay tuned
Top comments (0)