Ansichten:
Das Helm-Chart unterstützt Horizontal Pod Autoscaling (HPA) für die Scanner-Komponente, um die Anzahl der Scanner-Pods basierend auf der CPU- und Speicherauslastung automatisch zu skalieren.
Autoskalierung funktioniert am besten, wenn sie mit geeigneten Ressourcenanforderungen und -grenzen kombiniert wird. Überwachen Sie Ihre Arbeitslastmuster, um optimale Skalierungsschwellenwerte zu bestimmen.

Voraussetzungen für die automatische Skalierung

  • Metrics Server: Der Kubernetes Metrics Server muss in Ihrem Cluster bereitgestellt werden, damit HPA CPU- und Speichermetriken sammeln kann. Falls er noch nicht installiert ist, stellen Sie ihn bereit mit:
    kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
    
    Überprüfen Sie, ob der Metrics Server läuft:
    kubectl get deployment metrics-server -n kube-system
    kubectl top nodes  # This should return node metrics
    
  • Ressourcenanforderungen: Die Scanner-Pods müssen über definierte CPU- und Speicherressourcenanforderungen verfügen (die standardmäßig in diesem Diagramm enthalten sind).

Standardmäßige Autoskalierungseinstellungen

Autoskalierung ist standardmäßig deaktiviert. Die folgenden Einstellungen sind im values.yaml konfiguriert:
Scanner-Autoskalierung (scanner.autoscaling):
  • aktiviert: false (Autoskalierung ist standardmäßig deaktiviert)
  • minReplicas: 1 (minimale Anzahl von Scanner-Pods)
  • maxReplicas: 5 (maximale Anzahl von Scanner-Pods)
  • Ziel-CPU-Auslastungsprozentsatz: 80 (Ziel-CPU-Auslastung zur Auslösung der Skalierung)
  • Ziel-Speicherauslastungsprozentsatz: 80 (Ziel-Speicherauslastung zur Auslösung der Skalierung)

Automatische Skalierung aktivieren

Sie können die automatische Skalierung während der Installation aktivieren, indem Sie die --set-Flags verwenden. Sie können die automatische Skalierung auch aktivieren, indem Sie die Werte in Ihrer benutzerdefinierten values.yaml-Datei überschreiben:
# Example: Enable autoscaling with custom thresholds
scanner:
  autoscaling:
    enabled: true
    minReplicas: 2
    maxReplicas: 10
    targetCPUUtilizationPercentage: 70
    targetMemoryUtilizationPercentage: 80
Oder durch die Verwendung der Helm-Befehlszeile:
helm install my-release visionone-filesecurity/visionone-filesecurity \
  -n visionone-filesecurity \
  --set scanner.autoscaling.enabled=true \
  --set scanner.autoscaling.maxReplicas=10 \
  --set scanner.autoscaling.targetCPUUtilizationPercentage=70

Automatische Skalierung überwachen

Sie können den HPA-Status überwachen mit:
# Check HPA status
kubectl get hpa -n visionone-filesecurity

# Get detailed HPA information
kubectl describe hpa -n visionone-filesecurity