From 9338af3c2953e89c8fb2c58c05119f5463011f70 Mon Sep 17 00:00:00 2001 From: Viktor Barzin Date: Mon, 6 Apr 2026 15:57:47 +0300 Subject: [PATCH] fix(dbaas): raise ResourceQuota to 40Gi and add sidecar resources MySQL operator ignores podSpec.containers sidecar resource overrides, always injecting 6Gi limit defaults. Added sidecar to CR spec for documentation but raised quota from 32Gi to 40Gi as the practical fix. Quota usage drops from 99% to 79%. --- stacks/dbaas/modules/dbaas/main.tf | 38 +++++++++++++++++++++--------- 1 file changed, 27 insertions(+), 11 deletions(-) diff --git a/stacks/dbaas/modules/dbaas/main.tf b/stacks/dbaas/modules/dbaas/main.tf index 474cb610..6342401d 100644 --- a/stacks/dbaas/modules/dbaas/main.tf +++ b/stacks/dbaas/modules/dbaas/main.tf @@ -58,8 +58,8 @@ resource "kubernetes_resource_quota" "dbaas" { spec { hard = { "requests.cpu" = "8" - "requests.memory" = "32Gi" - "limits.memory" = "32Gi" + "requests.memory" = "40Gi" + "limits.memory" = "40Gi" pods = "30" } } @@ -257,18 +257,34 @@ resource "helm_release" "mysql_cluster" { # Container-specific resources for MYSQL container # VPA shows 2.98Gi target / 5.26Gi upper bound # Current usage ~1.8Gi peak. Reducing limit from 4Gi to 3Gi - containers = [{ - name = "mysql" - resources = { - requests = { - memory = "2Gi" - cpu = "250m" + containers = [ + { + name = "mysql" + resources = { + requests = { + memory = "2Gi" + cpu = "250m" + } + limits = { + memory = "3Gi" + } } - limits = { - memory = "3Gi" + }, + { + # MySQL operator sidecar (kopf Python control loop) + # VPA upper bound: 334Mi. Was 6Gi limit — 17× over-provisioned. + name = "sidecar" + resources = { + requests = { + memory = "350Mi" + cpu = "50m" + } + limits = { + memory = "512Mi" + } } } - }] + ] initContainers = [ { name = "fixdatadir"