PERF(observability): add HA for Loki and Tempo
- Loki: replicas 1→2 with soft anti-affinity - Tempo: replicas 1→2 with soft anti-affinity - Thanos/Prometheus: keep replica 1 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -45,10 +45,20 @@ loki:
|
|||||||
deploymentMode: SingleBinary
|
deploymentMode: SingleBinary
|
||||||
|
|
||||||
singleBinary:
|
singleBinary:
|
||||||
replicas: 1
|
replicas: 2
|
||||||
# Disable PVC - use emptyDir for WAL (data stored in MinIO)
|
# Disable PVC - use emptyDir for WAL (data stored in MinIO)
|
||||||
persistence:
|
persistence:
|
||||||
enabled: false
|
enabled: false
|
||||||
|
# Soft anti-affinity for HA
|
||||||
|
affinity:
|
||||||
|
podAntiAffinity:
|
||||||
|
preferredDuringSchedulingIgnoredDuringExecution:
|
||||||
|
- weight: 100
|
||||||
|
podAffinityTerm:
|
||||||
|
labelSelector:
|
||||||
|
matchLabels:
|
||||||
|
app.kubernetes.io/name: loki
|
||||||
|
topologyKey: kubernetes.io/hostname
|
||||||
extraVolumes:
|
extraVolumes:
|
||||||
- name: data
|
- name: data
|
||||||
emptyDir:
|
emptyDir:
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ prometheus:
|
|||||||
# Enable remote write receiver for OTel Collector
|
# Enable remote write receiver for OTel Collector
|
||||||
enableRemoteWriteReceiver: true
|
enableRemoteWriteReceiver: true
|
||||||
|
|
||||||
# Single replica (HA removed for resource optimization)
|
# Single replica
|
||||||
replicas: 1
|
replicas: 1
|
||||||
replicaExternalLabelName: prometheus_replica
|
replicaExternalLabelName: prometheus_replica
|
||||||
|
|
||||||
|
|||||||
@@ -10,6 +10,20 @@
|
|||||||
# Medium priority for observability
|
# Medium priority for observability
|
||||||
priorityClassName: medium-priority
|
priorityClassName: medium-priority
|
||||||
|
|
||||||
|
# HA with 2 replicas
|
||||||
|
replicas: 2
|
||||||
|
|
||||||
|
# Soft anti-affinity for HA
|
||||||
|
affinity:
|
||||||
|
podAntiAffinity:
|
||||||
|
preferredDuringSchedulingIgnoredDuringExecution:
|
||||||
|
- weight: 100
|
||||||
|
podAffinityTerm:
|
||||||
|
labelSelector:
|
||||||
|
matchLabels:
|
||||||
|
app.kubernetes.io/name: tempo
|
||||||
|
topologyKey: kubernetes.io/hostname
|
||||||
|
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
# Resource Limits (optimized for small cluster)
|
# Resource Limits (optimized for small cluster)
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
|
|||||||
Reference in New Issue
Block a user