You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/source/md/blog-k3s-vm-pve-fourth-node.md
+69-1Lines changed: 69 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -210,6 +210,70 @@ ssh root@pve.maas "qm status 107"
210
210
211
211
A spare tire in the trunk. Not using resources, but ready.
212
212
213
+
## Update: The Thermal Reality Check
214
+
215
+
An hour after deployment, Grafana told a different story.
216
+
217
+
fun-bedbug's temperature graph showed the AMD A9-9400 sitting at **91°C sustained** - just 9 degrees below the critical threshold. Before the K3s VM started, it idled at 45-55°C. The tiny ATOPNUC MA90 with its passive cooling simply couldn't handle the load.
218
+
219
+
The question became: which node should be the standby?
The concern with pve was valid: it runs OPNsense (the router) and MAAS (infrastructure provisioning). If the K3s VM misbehaved and starved resources, the entire network could go down.
**Decision: Shut down fun-bedbug, keep pve running.**
252
+
253
+
The thermal risk on fun-bedbug was immediate and hardware-threatening. The resource risk on pve was theoretical and manageable. A 3GB memory buffer with stable VMs is acceptable; running 9°C from thermal shutdown is not.
Three nodes. Proper etcd quorum. One node can fail without losing the cluster. And no hardware cooking itself to death.
276
+
213
277
## Lessons Learned
214
278
215
279
1.**Homogeneity is a myth.** Even in your own infrastructure, hosts have quirks. Document them.
@@ -222,9 +286,13 @@ A spare tire in the trunk. Not using resources, but ready.
222
286
223
287
5.**Fail-fast checks pay dividends.** A 5-second curl in cloud-init would have made the failure obvious immediately.
224
288
289
+
6.**Thermals trump isolation.** Running a node 9°C from critical is worse than sharing a host with other VMs. Hardware damage is permanent; resource contention is manageable.
290
+
291
+
7.**NotReady nodes are not inert.** They hold etcd membership, leases, and can cause leader election issues. If a node is intentionally offline, remove it from the cluster entirely.
292
+
225
293
---
226
294
227
-
*k3s-vm-pve sleeps now, powered off, its brief moment of confusion forgotten. The cluster hums along with four nodes registered, three active. And somewhere in a Git commit, a one-line diff tells the whole story: `vmbr0` → `vmbr25gbe`. The infrastructure remembers what I almost forgot.*
295
+
*k3s-vm-pve hums along now at 57°C, sharing its host with OPNsense and MAAS. fun-bedbug sits powered off, its passive cooling finally getting a break. The cluster runs with three nodes - proper quorum, proper thermals, proper GitOps. And somewhere in a Grafana dashboard, a temperature graph tells the real story: 91°C was too close. 57°C is just right.*
0 commit comments