Configurazione dell’Horizontal Pod Autoscaling (HPA)

Questa pagina descrive in dettaglio la configurazione del sistema di autoscaling per i pod. L’autoscaling consente di regolare dinamicamente il numero di pod in base al carico (CPU e RAM).

Prerequisiti tecnici

Affinché l’HPA possa funzionare, devono essere soddisfatte le condizioni seguenti:

  1. Metrics-server: deve essere installato sul cluster (per esporre le metriche cpu e memory).

  2. Resource Requests: i pod devono avere requests e limits CPU/RAM definiti. Il calcolo della percentuale si basa su questi valori. Per i pod di Cyberwatch sono definiti valori predefiniti, che possono tuttavia essere modificati nel file values.yml.

Esempio di implementazione

Copiare questa configurazione nel file values.yml per attivare l’autoscaling:

autoscaling:
  # Active ou désactive l'autoscaling des ressources pour le cluster
  enabled: true
  
  targets:
    - name: sidekiq-node
      minReplicas: 1      # Nombre de pods maintenus en vie même sans activité
      maxReplicas: 5      # Limite du nombre de pods que l'autoscaling peut créer
      targetCPUUsage: 70  # Déclenche un nouveau pod si la moyenne d'utilisation CPU dépasse 70%
      targetRAMUsage: 80  # Déclenche un nouveau pod si la moyenne d'utilisation RAM dépasse 80%

    - name: container-scanner
      minReplicas: 1
      maxReplicas: 10
      targetCPUUsage: 70
      targetRAMUsage: 80