From 73b1af5cc24382497157c421d6e6ddfc6f4d709d Mon Sep 17 00:00:00 2001 From: obetsun Date: Mon, 27 Oct 2025 20:06:44 +0200 Subject: [PATCH 01/10] product-kubearchive_cleanup_monitor Signed-off-by: obetsun Assisted-by: Cursor AI rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED --- .../kubearchive-logging-cleanup-monitor.yaml | 139 ++++++++++++++++++ 1 file changed, 139 insertions(+) create mode 100644 components/vector-kubearchive-log-collector/development/kubearchive-logging-cleanup-monitor.yaml diff --git a/components/vector-kubearchive-log-collector/development/kubearchive-logging-cleanup-monitor.yaml b/components/vector-kubearchive-log-collector/development/kubearchive-logging-cleanup-monitor.yaml new file mode 100644 index 00000000000..03c6c9fda60 --- /dev/null +++ b/components/vector-kubearchive-log-collector/development/kubearchive-logging-cleanup-monitor.yaml @@ -0,0 +1,139 @@ +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: kubearchive-logging-cleanup-script + namespace: product-kubearchive-logging +data: + cleanup-monitor.sh: | + #!/bin/bash + + # Loki Autoscaling Resource Cleanup Monitor + # This script monitors and cleans up resources during autoscaling operations + + NAMESPACE="product-kubearchive-logging" + LOG_FILE="/logs/loki-cleanup.log" + + log() { + echo "$(date '+%Y-%m-%d %H:%M:%S') $1" | tee -a "$LOG_FILE" + } + + # Function to check for EndpointSlice issues + check_endpoint_slice_health() { + log "Checking EndpointSlice health..." + + # Check for recent FailedToUpdateEndpointSlices events + RECENT_ERRORS=$(oc get events -n "$NAMESPACE" --field-selector reason=FailedToUpdateEndpointSlices 2>/dev/null | wc -l) + + if [ "$RECENT_ERRORS" -gt 1 ]; then # More than header line + log "WARNING: Found $((RECENT_ERRORS-1)) EndpointSlice update failures" + + # Check for pods on missing nodes + oc get pods -n "$NAMESPACE" -o wide | tail -n +2 | while read -r pod_info; do + POD_NAME=$(echo "$pod_info" | awk '{print $1}') + NODE_NAME=$(echo "$pod_info" | awk '{print $7}') + + if [ "$NODE_NAME" != "" ] && ! oc get node "$NODE_NAME" >/dev/null 2>&1; then + log "Found pod $POD_NAME on missing node $NODE_NAME - marking for cleanup" + # Force delete the pod to trigger cleanup + oc delete pod "$POD_NAME" -n "$NAMESPACE" --grace-period=0 --force + fi + done + else + log "✓ No recent EndpointSlice issues detected" + fi + } + + # Main execution + main() { + log "Starting Loki autoscaling cleanup monitor..." + + check_endpoint_slice_health + + log "Cleanup monitor cycle completed" + } + + # Run main function + main +--- +apiVersion: batch/v1 +kind: CronJob +metadata: + name: kubearchive-logging-cleanup + namespace: product-kubearchive-logging +spec: + schedule: "*/15 * * * *" # Run every 15 minutes + jobTemplate: + spec: + template: + spec: + serviceAccountName: loki-cleanup-sa + containers: + - name: cleanup-monitor + image: registry.redhat.io/ubi8/ubi:latest + command: + - /bin/bash + - /scripts/cleanup-monitor.sh + volumeMounts: + - name: cleanup-script + mountPath: /scripts + - name: log-storage + mountPath: /logs + resources: + requests: + cpu: 50m + memory: 64Mi + limits: + cpu: 100m + memory: 128Mi + volumes: + - name: cleanup-script + configMap: + name: loki-autoscaling-cleanup-script + defaultMode: 0755 + - name: log-storage + persistentVolumeClaim: + claimName: kubearchive-logging-logs + restartPolicy: OnFailure +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: loki-cleanup-sa + namespace: product-kubearchive-logging +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + name: loki-cleanup-role + namespace: product-kubearchive-logging +rules: +- apiGroups: [""] + resources: ["pods", "persistentvolumeclaims", "events"] + verbs: ["get", "list", "delete"] +- apiGroups: ["batch"] + resources: ["jobs"] + verbs: ["get", "list", "delete"] +- apiGroups: ["autoscaling"] + resources: ["horizontalpodautoscalers"] + verbs: ["get", "list"] +- apiGroups: ["policy"] + resources: ["poddisruptionbudgets"] + verbs: ["get", "list"] +- apiGroups: ["metrics.k8s.io"] + resources: ["pods"] + verbs: ["get", "list"] +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + name: loki-cleanup-binding + namespace: product-kubearchive-logging +subjects: +- kind: ServiceAccount + name: loki-cleanup-sa + namespace: product-kubearchive-logging +roleRef: + kind: Role + name: loki-cleanup-role + apiGroup: rbac.authorization.k8s.io From c1b35560be14580bb38b1cc500dc35527bfc7679 Mon Sep 17 00:00:00 2001 From: obetsun Date: Mon, 27 Oct 2025 22:31:04 +0200 Subject: [PATCH 02/10] kubearchive-logging: dev querier autoscaler setting Signed-off-by: obetsun rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED --- .../development/loki-helm-dev-values.yaml | 30 +++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/components/vector-kubearchive-log-collector/development/loki-helm-dev-values.yaml b/components/vector-kubearchive-log-collector/development/loki-helm-dev-values.yaml index abeba6b5877..4178083663b 100644 --- a/components/vector-kubearchive-log-collector/development/loki-helm-dev-values.yaml +++ b/components/vector-kubearchive-log-collector/development/loki-helm-dev-values.yaml @@ -125,9 +125,35 @@ ingester: hard: {} querier: - replicas: 1 + replicas: 3 autoscaling: - enabled: false + enabled: true + minReplicas: 1 + maxReplicas: 3 + targetCPUUtilizationPercentage: 75 + targetMemoryUtilizationPercentage: 85 + maxUnavailable: 1 + podDisruptionBudget: + enabled: true + minAvailable: 1 + behavior: + scaleDown: + stabilizationWindowSeconds: 300 + policies: + - type: Percent + value: 10 + periodSeconds: 15 + selectPolicy: LeastRequested + scaleUp: + stabilizationWindowSeconds: 300 + policies: + - type: Percent + value: 10 + periodSeconds: 15 + - type: Pods + value: 4 + periodSeconds: 15 + selectPolicy: LeastRequested resources: requests: cpu: 50m # Keep at 50m From cd61c631351ca94af6b24afb19fd4e66ba591c2f Mon Sep 17 00:00:00 2001 From: obetsun Date: Mon, 27 Oct 2025 22:36:24 +0200 Subject: [PATCH 03/10] rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED --- .../kubearchive-logging-cleanup-monitor.yaml | 139 ------------------ 1 file changed, 139 deletions(-) delete mode 100644 components/vector-kubearchive-log-collector/development/kubearchive-logging-cleanup-monitor.yaml diff --git a/components/vector-kubearchive-log-collector/development/kubearchive-logging-cleanup-monitor.yaml b/components/vector-kubearchive-log-collector/development/kubearchive-logging-cleanup-monitor.yaml deleted file mode 100644 index 03c6c9fda60..00000000000 --- a/components/vector-kubearchive-log-collector/development/kubearchive-logging-cleanup-monitor.yaml +++ /dev/null @@ -1,139 +0,0 @@ ---- -apiVersion: v1 -kind: ConfigMap -metadata: - name: kubearchive-logging-cleanup-script - namespace: product-kubearchive-logging -data: - cleanup-monitor.sh: | - #!/bin/bash - - # Loki Autoscaling Resource Cleanup Monitor - # This script monitors and cleans up resources during autoscaling operations - - NAMESPACE="product-kubearchive-logging" - LOG_FILE="/logs/loki-cleanup.log" - - log() { - echo "$(date '+%Y-%m-%d %H:%M:%S') $1" | tee -a "$LOG_FILE" - } - - # Function to check for EndpointSlice issues - check_endpoint_slice_health() { - log "Checking EndpointSlice health..." - - # Check for recent FailedToUpdateEndpointSlices events - RECENT_ERRORS=$(oc get events -n "$NAMESPACE" --field-selector reason=FailedToUpdateEndpointSlices 2>/dev/null | wc -l) - - if [ "$RECENT_ERRORS" -gt 1 ]; then # More than header line - log "WARNING: Found $((RECENT_ERRORS-1)) EndpointSlice update failures" - - # Check for pods on missing nodes - oc get pods -n "$NAMESPACE" -o wide | tail -n +2 | while read -r pod_info; do - POD_NAME=$(echo "$pod_info" | awk '{print $1}') - NODE_NAME=$(echo "$pod_info" | awk '{print $7}') - - if [ "$NODE_NAME" != "" ] && ! oc get node "$NODE_NAME" >/dev/null 2>&1; then - log "Found pod $POD_NAME on missing node $NODE_NAME - marking for cleanup" - # Force delete the pod to trigger cleanup - oc delete pod "$POD_NAME" -n "$NAMESPACE" --grace-period=0 --force - fi - done - else - log "✓ No recent EndpointSlice issues detected" - fi - } - - # Main execution - main() { - log "Starting Loki autoscaling cleanup monitor..." - - check_endpoint_slice_health - - log "Cleanup monitor cycle completed" - } - - # Run main function - main ---- -apiVersion: batch/v1 -kind: CronJob -metadata: - name: kubearchive-logging-cleanup - namespace: product-kubearchive-logging -spec: - schedule: "*/15 * * * *" # Run every 15 minutes - jobTemplate: - spec: - template: - spec: - serviceAccountName: loki-cleanup-sa - containers: - - name: cleanup-monitor - image: registry.redhat.io/ubi8/ubi:latest - command: - - /bin/bash - - /scripts/cleanup-monitor.sh - volumeMounts: - - name: cleanup-script - mountPath: /scripts - - name: log-storage - mountPath: /logs - resources: - requests: - cpu: 50m - memory: 64Mi - limits: - cpu: 100m - memory: 128Mi - volumes: - - name: cleanup-script - configMap: - name: loki-autoscaling-cleanup-script - defaultMode: 0755 - - name: log-storage - persistentVolumeClaim: - claimName: kubearchive-logging-logs - restartPolicy: OnFailure ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: loki-cleanup-sa - namespace: product-kubearchive-logging ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: Role -metadata: - name: loki-cleanup-role - namespace: product-kubearchive-logging -rules: -- apiGroups: [""] - resources: ["pods", "persistentvolumeclaims", "events"] - verbs: ["get", "list", "delete"] -- apiGroups: ["batch"] - resources: ["jobs"] - verbs: ["get", "list", "delete"] -- apiGroups: ["autoscaling"] - resources: ["horizontalpodautoscalers"] - verbs: ["get", "list"] -- apiGroups: ["policy"] - resources: ["poddisruptionbudgets"] - verbs: ["get", "list"] -- apiGroups: ["metrics.k8s.io"] - resources: ["pods"] - verbs: ["get", "list"] ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding -metadata: - name: loki-cleanup-binding - namespace: product-kubearchive-logging -subjects: -- kind: ServiceAccount - name: loki-cleanup-sa - namespace: product-kubearchive-logging -roleRef: - kind: Role - name: loki-cleanup-role - apiGroup: rbac.authorization.k8s.io From 014ec245612e5cce3d2b76d1f68afc7a93a4274a Mon Sep 17 00:00:00 2001 From: obetsun Date: Tue, 28 Oct 2025 15:47:47 +0200 Subject: [PATCH 04/10] add distributor and querier autoscaling Signed-off-by: obetsun rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED --- .../development/loki-helm-dev-values.yaml | 48 +++++++++++++++---- 1 file changed, 38 insertions(+), 10 deletions(-) diff --git a/components/vector-kubearchive-log-collector/development/loki-helm-dev-values.yaml b/components/vector-kubearchive-log-collector/development/loki-helm-dev-values.yaml index 4178083663b..eeb9ef193b3 100644 --- a/components/vector-kubearchive-log-collector/development/loki-helm-dev-values.yaml +++ b/components/vector-kubearchive-log-collector/development/loki-helm-dev-values.yaml @@ -142,18 +142,18 @@ querier: policies: - type: Percent value: 10 - periodSeconds: 15 - selectPolicy: LeastRequested + periodSeconds: 60 + selectPolicy: Min scaleUp: - stabilizationWindowSeconds: 300 + stabilizationWindowSeconds: 60 policies: - type: Percent - value: 10 - periodSeconds: 15 + value: 50 + periodSeconds: 60 - type: Pods - value: 4 - periodSeconds: 15 - selectPolicy: LeastRequested + value: 1 + periodSeconds: 60 + selectPolicy: Min resources: requests: cpu: 50m # Keep at 50m @@ -181,9 +181,37 @@ queryScheduler: memory: 64Mi # Reduce from 128Mi distributor: - replicas: 1 # Reduce from 3 to 1 for development + replicas: 3 autoscaling: - enabled: false # Disable autoscaling for dev + enabled: true + autoscaling: + enabled: true + minReplicas: 1 + maxReplicas: 3 + targetCPUUtilizationPercentage: 75 + targetMemoryUtilizationPercentage: 85 + maxUnavailable: 1 + podDisruptionBudget: + enabled: true + minAvailable: 1 + behavior: + scaleDown: + stabilizationWindowSeconds: 300 + policies: + - type: Percent + value: 10 + periodSeconds: 60 + selectPolicy: Min + scaleUp: + stabilizationWindowSeconds: 60 + policies: + - type: Percent + value: 50 + periodSeconds: 60 + - type: Pods + value: 1 + periodSeconds: 60 + selectPolicy: Min maxUnavailable: 1 resources: requests: From b9504c7a533c2f056c05dddbff15a0f1226eb37a Mon Sep 17 00:00:00 2001 From: obetsun Date: Tue, 28 Oct 2025 16:29:36 +0200 Subject: [PATCH 05/10] fix linter errors Assisted-by: Cursor AI Signed-off-by: obetsun rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED --- .../development/loki-helm-dev-values.yaml | 28 ++++++++----------- 1 file changed, 11 insertions(+), 17 deletions(-) diff --git a/components/vector-kubearchive-log-collector/development/loki-helm-dev-values.yaml b/components/vector-kubearchive-log-collector/development/loki-helm-dev-values.yaml index eeb9ef193b3..2d300155da1 100644 --- a/components/vector-kubearchive-log-collector/development/loki-helm-dev-values.yaml +++ b/components/vector-kubearchive-log-collector/development/loki-helm-dev-values.yaml @@ -15,8 +15,8 @@ gateway: port: 80 # Add startup probe for faster readiness readinessProbe: - initialDelaySeconds: 5 # Reduce from default 15 - periodSeconds: 5 # Check more frequently + initialDelaySeconds: 5 + periodSeconds: 5 timeoutSeconds: 3 failureThreshold: 3 successThreshold: 1 @@ -105,9 +105,9 @@ loki: # Distributed components configuration ingester: - replicas: 1 # Reduce from 3 to 1 for development + replicas: 3 # Reduce from 3 to 1 for development autoscaling: - enabled: false # Disable autoscaling for dev + enabled: true # Disable autoscaling for dev zoneAwareReplication: enabled: false resources: @@ -126,13 +126,13 @@ ingester: querier: replicas: 3 + maxUnavailable: 1 autoscaling: enabled: true minReplicas: 1 maxReplicas: 3 targetCPUUtilizationPercentage: 75 targetMemoryUtilizationPercentage: 85 - maxUnavailable: 1 podDisruptionBudget: enabled: true minAvailable: 1 @@ -182,18 +182,13 @@ queryScheduler: distributor: replicas: 3 + maxUnavailable: 1 autoscaling: - enabled: true - autoscaling: - enabled: true - minReplicas: 1 - maxReplicas: 3 - targetCPUUtilizationPercentage: 75 - targetMemoryUtilizationPercentage: 85 - maxUnavailable: 1 - podDisruptionBudget: - enabled: true - minAvailable: 1 + enabled: true + minReplicas: 1 + maxReplicas: 3 + targetCPUUtilizationPercentage: 75 + targetMemoryUtilizationPercentage: 85 behavior: scaleDown: stabilizationWindowSeconds: 300 @@ -212,7 +207,6 @@ distributor: value: 1 periodSeconds: 60 selectPolicy: Min - maxUnavailable: 1 resources: requests: cpu: 50m # Reduce from 100m From 80512ce65c0075affac2cc55099544c15f26f0a5 Mon Sep 17 00:00:00 2001 From: Oleg Betsun Date: Wed, 29 Oct 2025 12:44:41 +0200 Subject: [PATCH 06/10] Update components/vector-kubearchive-log-collector/development/loki-helm-dev-values.yaml MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Marta Añón Ruiz --- .../development/loki-helm-dev-values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/vector-kubearchive-log-collector/development/loki-helm-dev-values.yaml b/components/vector-kubearchive-log-collector/development/loki-helm-dev-values.yaml index 2d300155da1..ab5ca2e7be7 100644 --- a/components/vector-kubearchive-log-collector/development/loki-helm-dev-values.yaml +++ b/components/vector-kubearchive-log-collector/development/loki-helm-dev-values.yaml @@ -105,7 +105,7 @@ loki: # Distributed components configuration ingester: - replicas: 3 # Reduce from 3 to 1 for development + replicas: 3 autoscaling: enabled: true # Disable autoscaling for dev zoneAwareReplication: From 2d313a840456316509b096580d534aa070aa8f90 Mon Sep 17 00:00:00 2001 From: Oleg Betsun Date: Wed, 29 Oct 2025 12:44:49 +0200 Subject: [PATCH 07/10] Update components/vector-kubearchive-log-collector/development/loki-helm-dev-values.yaml MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Marta Añón Ruiz --- .../development/loki-helm-dev-values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/vector-kubearchive-log-collector/development/loki-helm-dev-values.yaml b/components/vector-kubearchive-log-collector/development/loki-helm-dev-values.yaml index ab5ca2e7be7..038c08762e2 100644 --- a/components/vector-kubearchive-log-collector/development/loki-helm-dev-values.yaml +++ b/components/vector-kubearchive-log-collector/development/loki-helm-dev-values.yaml @@ -107,7 +107,7 @@ loki: ingester: replicas: 3 autoscaling: - enabled: true # Disable autoscaling for dev + enabled: true zoneAwareReplication: enabled: false resources: From 2fbe8302b7d68a60166fffb861627c4988fcbe84 Mon Sep 17 00:00:00 2001 From: obetsun Date: Wed, 29 Oct 2025 14:57:38 +0200 Subject: [PATCH 08/10] fix yamllint errors Signed-off-by: obetsun rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED --- .../development/loki-helm-dev-values.yaml | 41 +++++++++---------- 1 file changed, 19 insertions(+), 22 deletions(-) diff --git a/components/vector-kubearchive-log-collector/development/loki-helm-dev-values.yaml b/components/vector-kubearchive-log-collector/development/loki-helm-dev-values.yaml index 038c08762e2..7b073438993 100644 --- a/components/vector-kubearchive-log-collector/development/loki-helm-dev-values.yaml +++ b/components/vector-kubearchive-log-collector/development/loki-helm-dev-values.yaml @@ -105,9 +105,9 @@ loki: # Distributed components configuration ingester: - replicas: 3 + replicas: 3 autoscaling: - enabled: true + enabled: true zoneAwareReplication: enabled: false resources: @@ -142,18 +142,18 @@ querier: policies: - type: Percent value: 10 - periodSeconds: 60 - selectPolicy: Min + periodSeconds: 60 + selectPolicy: Min scaleUp: - stabilizationWindowSeconds: 60 + stabilizationWindowSeconds: 60 policies: - type: Percent - value: 50 - periodSeconds: 60 + value: 50 + periodSeconds: 60 - type: Pods - value: 1 - periodSeconds: 60 - selectPolicy: Min + value: 1 + periodSeconds: 60 + selectPolicy: Min resources: requests: cpu: 50m # Keep at 50m @@ -181,7 +181,7 @@ queryScheduler: memory: 64Mi # Reduce from 128Mi distributor: - replicas: 3 + replicas: 3 maxUnavailable: 1 autoscaling: enabled: true @@ -195,18 +195,18 @@ distributor: policies: - type: Percent value: 10 - periodSeconds: 60 - selectPolicy: Min + periodSeconds: 60 + selectPolicy: Min scaleUp: - stabilizationWindowSeconds: 60 + stabilizationWindowSeconds: 60 policies: - type: Percent - value: 50 - periodSeconds: 60 + value: 50 + periodSeconds: 60 - type: Pods - value: 1 - periodSeconds: 60 - selectPolicy: Min + value: 1 + periodSeconds: 60 + selectPolicy: Min resources: requests: cpu: 50m # Reduce from 100m @@ -276,6 +276,3 @@ memcachedIndexWrites: enabled: true replicas: 1 maxItemMemory: 10 - - - From 8c491af328cd2b5c444b71a85ec519d4ab11ae49 Mon Sep 17 00:00:00 2001 From: obetsun Date: Wed, 29 Oct 2025 16:11:42 +0200 Subject: [PATCH 09/10] move autoscaling settings to anchor block Signed-off-by: obetsun rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED --- .../development/loki-helm-dev-values.yaml | 87 ++++++++----------- 1 file changed, 34 insertions(+), 53 deletions(-) diff --git a/components/vector-kubearchive-log-collector/development/loki-helm-dev-values.yaml b/components/vector-kubearchive-log-collector/development/loki-helm-dev-values.yaml index 7b073438993..5c17f36cf69 100644 --- a/components/vector-kubearchive-log-collector/development/loki-helm-dev-values.yaml +++ b/components/vector-kubearchive-log-collector/development/loki-helm-dev-values.yaml @@ -3,6 +3,36 @@ global: extraArgs: - "-log.level=debug" +autoscale: &autoscale + autoscaling: + enabled: true + minReplicas: 1 + maxReplicas: 3 + targetCPUUtilizationPercentage: 75 + targetMemoryUtilizationPercentage: 85 + podDisruptionBudget: + enabled: true + minAvailable: 1 + behavior: + scaleDown: + stabilizationWindowSeconds: 300 + policies: + - type: Percent + value: 10 + periodSeconds: 60 + selectPolicy: Min + scaleUp: + stabilizationWindowSeconds: 60 + policies: + - type: Percent + value: 50 + periodSeconds: 60 + - type: Pods + value: 1 + periodSeconds: 60 + selectPolicy: Min + + gateway: resources: requests: @@ -106,8 +136,8 @@ loki: # Distributed components configuration ingester: replicas: 3 - autoscaling: - enabled: true + maxUnavailable: 1 + <<: *autoscale zoneAwareReplication: enabled: false resources: @@ -127,33 +157,7 @@ ingester: querier: replicas: 3 maxUnavailable: 1 - autoscaling: - enabled: true - minReplicas: 1 - maxReplicas: 3 - targetCPUUtilizationPercentage: 75 - targetMemoryUtilizationPercentage: 85 - podDisruptionBudget: - enabled: true - minAvailable: 1 - behavior: - scaleDown: - stabilizationWindowSeconds: 300 - policies: - - type: Percent - value: 10 - periodSeconds: 60 - selectPolicy: Min - scaleUp: - stabilizationWindowSeconds: 60 - policies: - - type: Percent - value: 50 - periodSeconds: 60 - - type: Pods - value: 1 - periodSeconds: 60 - selectPolicy: Min + <<: *autoscale resources: requests: cpu: 50m # Keep at 50m @@ -183,30 +187,7 @@ queryScheduler: distributor: replicas: 3 maxUnavailable: 1 - autoscaling: - enabled: true - minReplicas: 1 - maxReplicas: 3 - targetCPUUtilizationPercentage: 75 - targetMemoryUtilizationPercentage: 85 - behavior: - scaleDown: - stabilizationWindowSeconds: 300 - policies: - - type: Percent - value: 10 - periodSeconds: 60 - selectPolicy: Min - scaleUp: - stabilizationWindowSeconds: 60 - policies: - - type: Percent - value: 50 - periodSeconds: 60 - - type: Pods - value: 1 - periodSeconds: 60 - selectPolicy: Min + <<: *autoscale resources: requests: cpu: 50m # Reduce from 100m From b009d8e778d50941c9e4b4f4ac2112fb8a0f4226 Mon Sep 17 00:00:00 2001 From: obetsun Date: Mon, 3 Nov 2025 13:02:36 +0200 Subject: [PATCH 10/10] switch autoscaling behavior on Signed-off-by: obetsun rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED --- .../development/loki-helm-dev-values.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/components/vector-kubearchive-log-collector/development/loki-helm-dev-values.yaml b/components/vector-kubearchive-log-collector/development/loki-helm-dev-values.yaml index 5c17f36cf69..4930f3b7ed4 100644 --- a/components/vector-kubearchive-log-collector/development/loki-helm-dev-values.yaml +++ b/components/vector-kubearchive-log-collector/development/loki-helm-dev-values.yaml @@ -14,6 +14,7 @@ autoscale: &autoscale enabled: true minAvailable: 1 behavior: + enabled: true scaleDown: stabilizationWindowSeconds: 300 policies: