right-size memory: set requests=limits based on actual usage

- Set memory requests = limits across 56 stacks to prevent overcommit
- Right-sized limits based on actual pod usage (2x actual, rounded up)
- Scaled down trading-bot (replicas=0) to free memory
- Fixed OOMKilled services: forgejo, dawarich, health, meshcentral,
  paperless-ngx, vault auto-unseal, rybbit, whisper, openclaw, clickhouse
- Added startup+liveness probes to calibre-web
- Bumped inotify limits on nodes 2,3 (max_user_instances 128->8192)

Post node2 OOM incident (2026-03-14). Previous kubelet config had no
kubeReserved/systemReserved set, allowing pods to starve the kernel.
This commit is contained in:
Viktor Barzin 2026-03-14 21:01:24 +00:00 committed by Viktor Barzin
parent 41131e58ba
commit 60173ac35c
58 changed files with 123 additions and 121 deletions

View file

@ -205,9 +205,9 @@ resource "kubernetes_deployment" "calibre-web-automated" {
path = "/"
port = 8083
}
initial_delay_seconds = 30
period_seconds = 10
failure_threshold = 54
initial_delay_seconds = 60
period_seconds = 15
failure_threshold = 56
}
liveness_probe {
http_get {
@ -220,7 +220,7 @@ resource "kubernetes_deployment" "calibre-web-automated" {
resources {
requests = {
cpu = "50m"
memory = "256Mi"
memory = "512Mi"
}
limits = {
memory = "512Mi"
@ -338,7 +338,7 @@ resource "kubernetes_deployment" "annas-archive-stacks" {
resources {
requests = {
cpu = "10m"
memory = "192Mi"
memory = "384Mi"
}
limits = {
memory = "384Mi"