right-size 14 services and scale down GPU-heavy workloads [ci skip]

Memory right-sizing based on VPA upperBound analysis:
- Increases: stirling-pdf 1200→1536Mi, claude-memory 64→128Mi,
  dawarich 512→768Mi, kyverno-cleanup 128→192Mi, linkwarden 768→1Gi,
  navidrome 64→128Mi, listenarr 768→896Mi, privatebin 64→128Mi,
  ntfy 64→128Mi, health 128→256Mi, dbaas quota 16→20Gi,
  mysql-operator 384→512Mi
- Decreases: rybbit 768→384Mi, nvidia-exporter added explicit 192Mi,
  dcgm-exporter 2560→1536Mi
- Scale to 0: ebook2audiobook/audiblez-web, whisper (GPU node pressure)

Net effect: -496Mi cluster-wide, 13 ContainerNearOOM alerts resolved,
all ResourceQuota pressures cleared, GPU health green.
This commit is contained in:
Viktor Barzin 2026-03-15 23:00:49 +00:00
parent b6d619e5df
commit a04335d0f3
16 changed files with 36 additions and 32 deletions

View file

@ -224,11 +224,11 @@ resource "kubernetes_deployment" "claude-memory" {
resources { resources {
requests = { requests = {
memory = "64Mi" memory = "128Mi"
cpu = "10m" cpu = "10m"
} }
limits = { limits = {
memory = "64Mi" memory = "128Mi"
} }
} }
} }

View file

@ -176,10 +176,10 @@ resource "kubernetes_deployment" "dawarich" {
resources { resources {
requests = { requests = {
cpu = "15m" cpu = "15m"
memory = "512Mi" memory = "768Mi"
} }
limits = { limits = {
memory = "512Mi" memory = "768Mi"
} }
} }
} }

View file

@ -326,7 +326,7 @@ resource "kubernetes_deployment" "audiblez-web" {
} }
} }
spec { spec {
replicas = 1 replicas = 0 # Scaled down - GPU node memory pressure
strategy { strategy {
type = "Recreate" type = "Recreate"
} }

View file

@ -107,11 +107,11 @@ resource "kubernetes_deployment" "health" {
resources { resources {
requests = { requests = {
memory = "128Mi" memory = "256Mi"
cpu = "15m" cpu = "15m"
} }
limits = { limits = {
memory = "128Mi" memory = "256Mi"
} }
} }
} }

View file

@ -182,10 +182,10 @@ resource "kubernetes_deployment" "linkwarden" {
resources { resources {
requests = { requests = {
cpu = "50m" cpu = "50m"
memory = "768Mi" memory = "1Gi"
} }
limits = { limits = {
memory = "768Mi" memory = "1Gi"
} }
} }
} }

View file

@ -133,10 +133,10 @@ resource "kubernetes_deployment" "navidrome" {
resources { resources {
requests = { requests = {
cpu = "15m" cpu = "15m"
memory = "64Mi" memory = "128Mi"
} }
limits = { limits = {
memory = "64Mi" memory = "128Mi"
} }
} }
} }

View file

@ -121,10 +121,10 @@ resource "kubernetes_deployment" "ntfy" {
resources { resources {
requests = { requests = {
cpu = "10m" cpu = "10m"
memory = "64Mi" memory = "128Mi"
} }
limits = { limits = {
memory = "64Mi" memory = "128Mi"
} }
} }
} }

View file

@ -35,8 +35,8 @@ resource "kubernetes_resource_quota" "dbaas" {
spec { spec {
hard = { hard = {
"requests.cpu" = "8" "requests.cpu" = "8"
"requests.memory" = "16Gi" "requests.memory" = "20Gi"
"limits.memory" = "16Gi" "limits.memory" = "20Gi"
pods = "30" pods = "30"
} }
} }
@ -78,10 +78,10 @@ resource "helm_release" "mysql_operator" {
resources = { resources = {
requests = { requests = {
cpu = "100m" cpu = "100m"
memory = "384Mi" memory = "512Mi"
} }
limits = { limits = {
memory = "384Mi" memory = "512Mi"
} }
} }
})] })]

View file

@ -57,11 +57,11 @@ resource "helm_release" "kyverno" {
cleanupController = { cleanupController = {
resources = { resources = {
limits = { limits = {
memory = "128Mi" memory = "192Mi"
} }
requests = { requests = {
cpu = "100m" cpu = "100m"
memory = "128Mi" memory = "192Mi"
} }
} }
} }

View file

@ -132,7 +132,11 @@ resource "kubernetes_deployment" "nvidia-exporter" {
} }
} }
resources { resources {
requests = {
memory = "192Mi"
}
limits = { limits = {
memory = "192Mi"
"nvidia.com/gpu" = "1" "nvidia.com/gpu" = "1"
} }
} }

View file

@ -18,13 +18,13 @@ driver:
config: config:
name: time-slicing-config name: time-slicing-config
# DCGM Exporter - increased from 768Mi to 2560Mi based on VPA upper bound of 2091Mi # DCGM Exporter - reduced from 2560Mi to 1536Mi based on VPA upper bound of 1459Mi (1.05x margin)
dcgmExporter: dcgmExporter:
resources: resources:
requests: requests:
memory: "2560Mi" memory: "1536Mi"
limits: limits:
memory: "2560Mi" memory: "1536Mi"
# CUDA Validator - reduced from 1024Mi to 256Mi (one-shot job) # CUDA Validator - reduced from 1024Mi to 256Mi (one-shot job)
validator: validator:

View file

@ -70,10 +70,10 @@ resource "kubernetes_deployment" "privatebin" {
resources { resources {
requests = { requests = {
cpu = "10m" cpu = "10m"
memory = "64Mi" memory = "128Mi"
} }
limits = { limits = {
memory = "64Mi" memory = "128Mi"
} }
} }
} }

View file

@ -353,10 +353,10 @@ resource "kubernetes_deployment" "rybbit" {
resources { resources {
requests = { requests = {
cpu = "25m" cpu = "25m"
memory = "768Mi" memory = "384Mi"
} }
limits = { limits = {
memory = "768Mi" memory = "384Mi"
} }
} }
} }

View file

@ -59,10 +59,10 @@ resource "kubernetes_deployment" "listenarr" {
resources { resources {
requests = { requests = {
cpu = "25m" cpu = "25m"
memory = "768Mi" memory = "896Mi"
} }
limits = { limits = {
memory = "768Mi" memory = "896Mi"
} }
} }
} }

View file

@ -61,10 +61,10 @@ resource "kubernetes_deployment" "stirling-pdf" {
resources { resources {
requests = { requests = {
cpu = "25m" cpu = "25m"
memory = "1200Mi" memory = "1536Mi"
} }
limits = { limits = {
memory = "1200Mi" memory = "1536Mi"
} }
} }

View file

@ -38,7 +38,7 @@ resource "kubernetes_deployment" "whisper" {
} }
} }
spec { spec {
replicas = 1 replicas = 0 # Scaled down - GPU node memory pressure
strategy { strategy {
type = "Recreate" type = "Recreate"
} }
@ -156,7 +156,7 @@ resource "kubernetes_deployment" "piper" {
} }
} }
spec { spec {
replicas = 1 replicas = 0 # Scaled down - GPU node memory pressure
strategy { strategy {
type = "Recreate" type = "Recreate"
} }