PERF(observability): optimize resources via VPA

- alertmanager: CPU 15m/15m, memory 100Mi/100Mi
- blackbox-exporter: CPU 15m/32m, memory 100Mi/100Mi
- goldilocks: controller 15m/25m, dashboard 15m/15m
- grafana: CPU 22m/24m, memory 144Mi/242Mi (upperBound)
- kube-state-metrics: CPU 15m/15m, memory 100Mi/100Mi
- loki: CPU 10m/69m, memory 225Mi/323Mi
- node-exporter: CPU 15m/15m, memory 100Mi/100Mi
- opentelemetry: CPU 34m/410m, memory 142Mi/1024Mi
- prometheus-operator: CPU 15m/15m, memory 100Mi/100Mi
- tempo: CPU 15m/15m, memory 100Mi/109Mi
- thanos: CPU 15m/15m, memory 100Mi/126Mi
- vpa: CPU 15m/15m, memory 100Mi/100Mi
This commit is contained in:
2026-01-12 01:07:58 +09:00
parent a70403d1ae
commit 3b5bf20902
12 changed files with 47 additions and 17 deletions

View File

@@ -21,11 +21,13 @@ affinity:
persistence: persistence:
enabled: false enabled: false
# Resource settings (VPA lowerBound/target)
resources: resources:
requests: requests:
cpu: 15m cpu: 15m
memory: 100Mi memory: 100Mi
limits: limits:
cpu: 15m
memory: 100Mi memory: 100Mi
# Disable default config - use secret instead # Disable default config - use secret instead

View File

@@ -5,11 +5,13 @@ fullnameOverride: blackbox-exporter
replicas: 1 replicas: 1
# Resource settings (VPA lowerBound/upperBound)
resources: resources:
requests: requests:
cpu: 23m cpu: 15m
memory: 100Mi memory: 100Mi
limits: limits:
cpu: 32m
memory: 100Mi memory: 100Mi
config: config:

View File

@@ -6,11 +6,13 @@ dashboard:
enabled: true enabled: true
replicaCount: 1 replicaCount: 1
# Resource settings (VPA lowerBound/upperBound)
resources: resources:
requests: requests:
cpu: 15m cpu: 15m
memory: 100Mi memory: 100Mi
limits: limits:
cpu: 15m
memory: 100Mi memory: 100Mi
service: service:
@@ -49,11 +51,13 @@ controller:
enabled: true enabled: true
replicaCount: 1 replicaCount: 1
# Resource settings (VPA lowerBound/upperBound)
resources: resources:
requests: requests:
cpu: 15m cpu: 15m
memory: 100Mi memory: 100Mi
limits: limits:
cpu: 25m
memory: 100Mi memory: 100Mi
# Enable VPA recommendations for all namespaces # Enable VPA recommendations for all namespaces

View File

@@ -39,12 +39,14 @@ podSecurityContext:
fsGroup: 472 fsGroup: 472
fsGroupChangePolicy: "Always" fsGroupChangePolicy: "Always"
# Resource settings (VPA lowerBound/upperBound)
resources: resources:
requests: requests:
cpu: 23m cpu: 22m
memory: 256Mi memory: 144Mi
limits: limits:
memory: 256Mi cpu: 24m
memory: 242Mi
service: service:
type: ClusterIP type: ClusterIP

View File

@@ -7,12 +7,14 @@ fullnameOverride: kube-state-metrics
# Note: kube-state-metrics는 stateless이지만, 여러 replica는 동일한 메트릭을 중복 생성하므로 # Note: kube-state-metrics는 stateless이지만, 여러 replica는 동일한 메트릭을 중복 생성하므로
# 단일 replica로 실행하는 것이 권장됩니다. # 단일 replica로 실행하는 것이 권장됩니다.
# Resource settings (VPA lowerBound/upperBound)
resources: resources:
requests: requests:
cpu: 15m cpu: 15m
memory: 105Mi memory: 100Mi
limits: limits:
memory: 105Mi cpu: 15m
memory: 100Mi
service: service:
type: ClusterIP type: ClusterIP

View File

@@ -60,12 +60,14 @@ singleBinary:
mountPath: /var/loki mountPath: /var/loki
# Medium priority for observability # Medium priority for observability
priorityClassName: medium-priority priorityClassName: medium-priority
# Resource settings (VPA lowerBound/target)
resources: resources:
requests: requests:
cpu: 63m cpu: 10m
memory: 363Mi memory: 225Mi
limits: limits:
memory: 363Mi cpu: 69m
memory: 323Mi
# Disable components not needed in single binary mode # Disable components not needed in single binary mode
backend: backend:

View File

@@ -6,11 +6,13 @@ fullnameOverride: node-exporter
hostNetwork: true hostNetwork: true
hostPID: true hostPID: true
# Resource settings (VPA lowerBound/upperBound)
resources: resources:
requests: requests:
cpu: 15m cpu: 15m
memory: 100Mi memory: 100Mi
limits: limits:
cpu: 15m
memory: 100Mi memory: 100Mi
service: service:

View File

@@ -28,14 +28,15 @@ image:
mode: daemonset mode: daemonset
# ============================================================================= # =============================================================================
# Resource Limits (based on VPA recommendation) # Resource Limits (VPA lowerBound/upperBound, mem limit capped at 1024Mi)
# ============================================================================= # =============================================================================
resources: resources:
requests: requests:
cpu: 25m cpu: 34m
memory: 400Mi memory: 142Mi
limits: limits:
memory: 400Mi cpu: 410m
memory: 1024Mi
# ============================================================================= # =============================================================================
# Environment Variables # Environment Variables

View File

@@ -14,6 +14,14 @@ prometheusOperator:
enabled: true enabled: true
# CRD 생성 비활성화 # CRD 생성 비활성화
createCustomResource: false createCustomResource: false
# Resource settings (VPA lowerBound/upperBound)
resources:
requests:
cpu: 15m
memory: 100Mi
limits:
cpu: 15m
memory: 100Mi
# Kubelet ServiceMonitor with cluster label # Kubelet ServiceMonitor with cluster label
kubelet: kubelet:

View File

@@ -17,13 +17,14 @@ replicas: 1
# Tempo Configuration # Tempo Configuration
# ============================================================================= # =============================================================================
tempo: tempo:
# Resource Limits (optimized for small cluster) # Resource settings (VPA lowerBound/target)
resources: resources:
requests: requests:
cpu: 15m cpu: 15m
memory: 100Mi memory: 100Mi
limits: limits:
memory: 100Mi cpu: 15m
memory: 109Mi
# Receivers - protocols Tempo accepts # Receivers - protocols Tempo accepts
receivers: receivers:
otlp: otlp:

View File

@@ -46,12 +46,14 @@ query:
- --query.replica-label=prometheus_replica - --query.replica-label=prometheus_replica
- --query.auto-downsampling - --query.auto-downsampling
# Resource settings (VPA lowerBound/target)
resources: resources:
requests: requests:
cpu: 15m cpu: 15m
memory: 283Mi memory: 100Mi
limits: limits:
memory: 283Mi cpu: 15m
memory: 126Mi
# ============================================================================= # =============================================================================
# Query Frontend - Caching layer for Query (optional, disabled for small cluster) # Query Frontend - Caching layer for Query (optional, disabled for small cluster)

View File

@@ -6,11 +6,13 @@ recommender:
enabled: true enabled: true
replicaCount: 1 replicaCount: 1
# Resource settings (VPA lowerBound/upperBound)
resources: resources:
requests: requests:
cpu: 15m cpu: 15m
memory: 100Mi memory: 100Mi
limits: limits:
cpu: 15m
memory: 100Mi memory: 100Mi
# Updater - applies recommended resource requests to pods # Updater - applies recommended resource requests to pods