@@ -85,13 +85,17 @@ server:
8585 enabled : true
8686 additionalLabels :
8787 release : kube-prometheus-stack
88+ # VPA-optimized resources (2026-02-24)
89+ # VPA target: cpu 23m, memory 175Mi
90+ # Previous: cpu 500m (20x over-provisioned), memory 512Mi
91+ # Server is mostly idle (UI/API only), no heavy compute
8892 resources :
8993 requests :
90- cpu : 500m
91- memory : 512Mi
94+ cpu : 50m # 2x VPA target for safety margin
95+ memory : 256Mi # 1.5x VPA target
9296 limits :
93- cpu : 2000m
94- memory : 2Gi
97+ cpu : 500m # Reduced from 2000m (VPA upperBound: 270m)
98+ memory : 1Gi # Reduced from 2Gi (VPA upperBound: 1.35Gi)
9599# ApplicationSet controller settings
96100applicationSet :
97101 enabled : true
@@ -101,24 +105,32 @@ applicationSet:
101105 enabled : true
102106 additionalLabels :
103107 release : kube-prometheus-stack
108+ # VPA-optimized resources (2026-02-24)
109+ # VPA target: cpu 49m, memory 100Mi
110+ # Previous: cpu 250m (5x over-provisioned), memory 256Mi
111+ # ApplicationSet is lightweight (watches directories, creates apps)
104112 resources :
105113 requests :
106- cpu : 250m
107- memory : 256Mi
114+ cpu : 100m # 2x VPA target for safety margin
115+ memory : 128Mi
108116 limits :
109- cpu : 1000m
110- memory : 1Gi
117+ cpu : 500m # Reduced from 1000m (VPA upperBound: 755m)
118+ memory : 512Mi # Reduced from 1Gi
111119# High Availability setup
112120ha :
113121 enabled : true
114122 redis :
123+ # VPA-optimized resources (2026-02-24)
124+ # VPA target: cpu 23m, memory 100Mi
125+ # Previous: cpu 100m (4x over-provisioned), memory 128Mi
126+ # Redis is used for HA state/caching, low utilization in this setup
115127 resources :
116128 requests :
117- cpu : 100m
118- memory : 128Mi
129+ cpu : 50m # 2x VPA target for safety margin
130+ memory : 128Mi # Keep at 128Mi (close to VPA target)
119131 limits :
120- cpu : 500m
121- memory : 512Mi
132+ cpu : 500m # Keep for burst capacity
133+ memory : 512Mi # Keep for cache growth
122134# Argo CD controller settings
123135controller :
124136 env :
@@ -138,13 +150,18 @@ controller:
138150 enabled : true
139151 additionalLabels :
140152 release : kube-prometheus-stack
153+ # VPA-optimized resources (2026-02-24)
154+ # VPA target: cpu 2048m, memory 1.25Gi
155+ # Previous: cpu 1000m (UNDER-PROVISIONED), memory 1Gi
156+ # Controller was below VPA lowerBound (1021m) = CPU throttling during reconciliation
157+ # This is the main reconciliation loop for 60+ applications
141158 resources :
142159 requests :
143- cpu : 1000m
144- memory : 1Gi
160+ cpu : 2000m # Match VPA target (was 1000m, doubled)
161+ memory : 1536Mi # 1.5Gi (VPA target 1.25Gi + buffer)
145162 limits :
146- cpu : 4000m
147- memory : 4Gi
163+ cpu : 4000m # Keep at 4000m (allows burst during mass sync)
164+ memory : 4Gi # Keep at 4Gi (VPA upperBound: 11.2Gi during spikes)
148165# Argo CD repo-server settings
149166repoServer :
150167 replicas : 2
@@ -157,13 +174,18 @@ repoServer:
157174 enabled : true
158175 additionalLabels :
159176 release : kube-prometheus-stack
177+ # VPA-optimized resources (2026-02-24)
178+ # VPA target: cpu 2975m, memory 523Mi
179+ # Previous: cpu 1000m (UNDER-PROVISIONED 3x), memory 1Gi (OVER-PROVISIONED 2x)
180+ # Repo-server does heavy lifting: Helm template rendering, Kustomize builds
181+ # CPU-bound (manifest generation) but low memory (template processing)
160182 resources :
161183 requests :
162- cpu : 1000m
163- memory : 1Gi
184+ cpu : 3000m # Match VPA target (was 1000m, tripled)
185+ memory : 768Mi # Reduced from 1Gi (VPA target only 523Mi)
164186 limits :
165- cpu : 4000m
166- memory : 4Gi
187+ cpu : 4000m # Keep at 4000m (VPA upperBound: 28+ cores during Prometheus chart)
188+ memory : 4Gi # Keep at 4Gi (VPA upperBound: 3.95Gi for large Helm charts)
167189# Dex is disabled; external authentication (e.g. SSO) is used
168190dex :
169191 enabled : false
0 commit comments