diff --git a/kubernetes/apps/home-assistant/deployment.yaml b/kubernetes/apps/home-assistant/deployment.yaml index 714302ca..ce18295a 100644 --- a/kubernetes/apps/home-assistant/deployment.yaml +++ b/kubernetes/apps/home-assistant/deployment.yaml @@ -189,12 +189,15 @@ spec: port: http periodSeconds: 10 timeoutSeconds: 5 + # ~10k entities. The legacy HAOS VM ran this workload with 16Gi; + # the 4Gi limit OOM-looped (working set ~3.9Gi, tipped over on + # morning load spikes). 8Gi on the resized k8s-edge VM (12Gi). resources: requests: cpu: 500m - memory: 1Gi + memory: 2Gi limits: - memory: 4Gi + memory: 8Gi securityContext: privileged: true # Reverse-proxy sidecar. ingress-nginx → :8124 → 127.0.0.1:8123. diff --git a/opentofu/vm_153_k8s_edge.tf b/opentofu/vm_153_k8s_edge.tf index 1fe8480f..163bb375 100644 --- a/opentofu/vm_153_k8s_edge.tf +++ b/opentofu/vm_153_k8s_edge.tf @@ -21,7 +21,12 @@ module "k8s_edge" { name = "k8s-edge.srv.renner.uno" target_node = "neptune" vmid = 153 - memory = 6144 + # ~10k-entity HA at 4Gi pod limit OOM-looped (see deployment.yaml). The + # legacy HAOS VM 103 that ran this same workload had 16Gi; bump this VM so + # the HA pod can have an 8Gi limit with headroom for the other pinned pods + # (matter-server, otbr, zwave-js, music-assistant). Freed RAM comes from + # the now-stopped VM 103. + memory = 12288 cores = 2 template_name = null