Utilizzo di una policy di scalabilità automatica con più indicatori

Quando crei una policy di scalabilità automatica con più indicatori, il gestore della scalabilità automatica si basa sull'indicatore che fornisce il maggior numero di istanze di macchine virtuali (VM) nel gruppo di istanze gestite (MIG). In questo modo, vengono sempre fornite VM sufficienti per gestire i workload delle applicazioni e puoi eseguire la scalabilità delle applicazioni con più possibili colli di bottiglia.

Per scoprire di più sui diversi tipi di indicatori di scalabilità automatica, consulta Policy di scalabilità automatica.

Prima di iniziare

  • Scopri i concetti fondamentali del gestore della scalabilità automatica.
  • Se non l'hai ancora fatto, configura l'autenticazione. L'autenticazione è il processo mediante il quale la tua identità viene verificata per l'accesso a servizi e API di Trusted Cloud by S3NS . Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su Compute Engine selezionando una delle seguenti opzioni:

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Trusted Cloud console to access Trusted Cloud by S3NS services and APIs, you don't need to set up authentication.

    gcloud

    1. Install the Google Cloud CLI, and then sign in to the gcloud CLI with your federated identity. After signing in, initialize the Google Cloud CLI by running the following command:

      gcloud init
    2. Set a default region and zone.

    REST

    Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, devi utilizzare le credenziali che fornisci a gcloud CLI.

      Install the Google Cloud CLI, and then sign in to the gcloud CLI with your federated identity. After signing in, initialize the Google Cloud CLI by running the following command:

      gcloud init

    Per saperne di più, consulta Autenticarsi per l'utilizzo di REST nella documentazione sull'autenticazione di Trusted Cloud .

Come il gestore della scalabilità automatica gestisce più indicatori

Un gestore della scalabilità automatica gestisce più indicatori calcolando il numero consigliato di VM per ogni indicatore e poi scegliendo l'indicatore che genera il maggior numero di VM nel MIG.

Un gestore della scalabilità automatica può gestire un indicatore per tipo di metrica, ad eccezione delle metriche di Cloud Monitoring e delle pianificazioni di scalabilità. Puoi scegliere fino a 5 indicatori di scalabilità automatica per le metriche di Cloud Monitoring e creare fino a 128 pianificazioni per MIG. Ad esempio, puoi creare un gestore della scalabilità automatica che utilizzi fino a 1 indicatore di utilizzo della CPU, fino a 1 indicatore di bilanciamento del carico, fino a 5 indicatori di metriche personalizzate e fino a 128 pianificazioni di scalabilità.

Ad esempio, puoi definire un gestore della scalabilità automatica con tutti i seguenti indicatori:

  • cpuUtilization con un target di 0,8
  • loadBalancingUtilization con un target di 0,6
  • customMetricUtilization per la metrica1 con un target di 1000
  • customMetricUtilization per la metrica2 con un target di 2000
  • scalingSchedules
    • Un minimo di 6 VM ogni sabato e domenica alle 00:00 per 24 ore
    • Un minimo di 15 VM dal lunedì al venerdì dalle 09:00 alle 17:00 per 8 ore

In questo esempio, supponiamo che il gestore della scalabilità automatica misuri i seguenti valori di utilizzo medio per un MIG che contiene 10 VM al momento della misurazione:

  • 0,5 per l'utilizzo della CPU
  • 0,4 di utilizzo del bilanciamento del carico
  • 1100 per la metrica1
  • 2700 per la metrica2

Utilizzando i valori precedenti, il gestore della scalabilità automatica calcola il numero consigliato di VM in base a ciascun indicatore:

  • 7 VM in base all'utilizzo della CPU
  • 7 VM in base all'utilizzo del bilanciamento del carico
  • 11 VM in base alla metrica1
  • 14 VM in base alla metrica2
  • 6 VM ogni sabato e domenica per l'intera giornata in base alla prima pianificazione di scalabilità
  • 15 VM dal lunedì al venerdì dalle 09:00 alle 17:00 in base alla seconda pianificazione di scalabilità

Il gestore della scalabilità automatica seleziona l'indicatore che genera il maggior numero di VM nel MIG e imposta la dimensione consigliata del MIG su quel valore. In questo caso, il gestore della scalabilità ridimensiona il MIG a 15 VM se la seconda pianificazione è attualmente attiva o a 14 VM in caso contrario.

Crea un gestore della scalabilità automatica con più indicatori

La creazione di un gestore della scalabilità automatica con più indicatori è leggermente diversa a seconda che tu utilizzi la console Trusted Cloud , gcloud CLI o REST.

Console

  1. Nella console Trusted Cloud , vai alla pagina Gruppi di istanze.

    Vai a Gruppi di istanze

  2. Fai clic sul nome di un MIG dall'elenco. Successivamente, fai clic su Modifica.

  3. Nella pagina di modifica, in Modalità di scalabilità automatica, attiva la scalabilità automatica selezionando On: aggiungi e rimuovi istanze al gruppo dal menu a discesa.

  4. In Numero minimo di istanze, inserisci il numero minimo di VM che vuoi per questo MIG. La dimensione minima di questo MIG è sempre mantenuta, a prescindere dai relativi indicatori di scalabilità automatica

  5. In Numero massimo di istanze, inserisci il numero massimo di VM che vuoi per questo MIG. La dimensione massima di questo MIG non viene mai superata, a prescindere dalle dimensioni consigliate generate dai relativi indicatori di scalabilità automatica.

  6. Per ogni indicatore di scalabilità automatica basato su metriche che vuoi aggiungere, in Indicatori di scalabilità automatica, fai clic su Aggiungi un indicatore.

    • Per creare un indicatore di scalabilità automatica in base all'utilizzo medio della CPU, in Tipo di indicatore seleziona Utilizzo CPU dal menu a discesa. Poi, inserisci un Utilizzo CPU target e fai clic su Fine. Per ulteriori informazioni, consulta Scalabilità basata sull'utilizzo della CPU.
    • Per creare un indicatore di scalabilità automatica in base alla capacità di gestione del bilanciamento del carico HTTP, seleziona Utilizzo bilanciamento del carico HTTP dal menu a discesa Tipo di indicatore. Poi, inserisci un utilizzo del bilanciamento del carico HTTP target e fai clic su Fine. Per ulteriori informazioni, consulta Scalabilità basata sulla capacità di gestione del bilanciamento del carico.
    • Per creare un indicatore di scalabilità automatica in base alle metriche di Cloud Monitoring, seleziona Metrica di Cloud Monitoring dal menu a discesa Tipo di indicatore. Poi, compila i campi rimanenti e fai clic su Fine. Per ulteriori informazioni, consulta Scalabilità basata sulle metriche di Cloud Monitoring.
  7. Per ogni indicatore di scalabilità automatica basato sulla pianificazione che vuoi aggiungere, espandi la sezione Pianificazioni di scalabilità automatica, fai clic su Gestisci pianificazioni e poi su Crea pianificazione.

  8. Nel nuovo riquadro Crea pianificazione di scalabilità, compila i campi obbligatori e fai clic su Salva. Poi, nel riquadro Pianificazioni di scalabilità, fai clic su Fine. Per ulteriori informazioni, consulta Scalabilità basata sulle pianificazioni.

  9. In Periodo di inizializzazione, inserisci il numero di secondi necessari per l'inizializzazione della tua applicazione. In questo modo, le VM completeranno l'inizializzazione prima che il gestore della scalabilità automatica consideri affidabili i dati sull'utilizzo. Per ulteriori informazioni, consulta Periodo di inizializzazione.

  10. (Facoltativo) Per attivare i controlli di scale in, fai clic su Controlli di scale in, quindi seleziona la casella di controllo Abilita controlli di scale in. Per ulteriori informazioni, consulta Controlli di scale in

  11. Fai clic su Salva.

gcloud

Per creare un gestore della scalabilità automatica con più indicatori, utilizza il comando set-autoscaling. Passa più specifiche di indicatori utilizzando i rispettivi flag della riga di comando.

Ad esempio, il seguente comando crea un gestore della scalabilità automatica che utilizza l'utilizzo della CPU, la capacità di gestione del bilanciamento del carico, due metriche personalizzate e una pianificazione di scalabilità. I flag --max-num-replicas e --min-num-replicas limitano le dimensioni minime o massime del MIG.

gcloud compute instance-groups managed set-autoscaling MIG_NAME \
   --target-cpu-utilization=0.8 \
   --target-load-balancing-utilization=0.6 \
   --custom-metric-utilization metric=PATH_TO_CUSTOM_METRIC_1,utilization-target=1000.0,utilization-target-type=GAUGE \
   --custom-metric-utilization metric=PATH_TO_CUSTOM_METRIC_2,utilization-target=2000.0,utilization-target-type=DELTA_PER_SECOND \
   --set-schedule=workday-capacity \
   --schedule-cron="30 8 * * Mon-Fri" \
   --schedule-duration-sec=30600 \
   --schedule-min-required-replicas=10 \
   --schedule-description="Have at least 10 VMs every Monday through Friday from 8:30 AM to 5 PM UTC" \
   --min-num-replicas=1 \
   --max-num-replicas=50

Sostituisci quanto segue:

  • MIG_NAME: il nome di un MIG.
  • PATH_TO_CUSTOM_METRIC_1 e PATH_TO_CUSTOM_METRIC_2: (Facoltativi) i percorsi alle metriche personalizzate con un formato simile a custom.cloudmonitoring.googleapis.com/path/to/metric1 e custom.cloudmonitoring.googleapis.com/path/to/metric2. Per ulteriori informazioni, consulta Metriche personalizzate.

Ad eccezione dei flag delle metriche personalizzate, puoi passare al massimo un flag per ogni tipo di metrica per comando gcloud. Per le metriche personalizzate, puoi fornire più metriche personalizzate in un unico comando ripetendo il flag --custom-metric-utilization.

Per ulteriori informazioni su come configurare i flag per ogni tipo di indicatore di scalabilità automatica, consulta le seguenti pagine:

REST

Per creare un gestore della scalabilità automatica, utilizza il metodo autoscalers.insert per un MIG a livello di zona o il metodo regionAutoscalers.insert per un MIG a livello di regione.

Ad esempio, la richiesta seguente crea un gestore della scalabilità automatica che utilizza l'utilizzo della CPU, la capacità di gestione del bilanciamento del carico, due metriche personalizzate e due pianificazioni di scalabilità. I campi maxNumReplicas e minNumReplicas limitano le dimensioni minime o massime del MIG.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/autoscalers

{
  "autoscalingPolicy" : {
    "cpuUtilization":{
      "utilizationTarget": 0.8
    },
    "loadBalancingUtilization":{
      "utilizationTarget": 0.6
    },
    "customMetricUtilizations":[
      {
        "metric": "PATH_TO_CUSTOM_METRIC_1",
        "utilizationTarget": 1000,
        "utilizationTargetType":"GAUGE"
      },
      {
        "metric": "PATH_TO_CUSTOM_METRIC_2",
        "utilizationTarget": 2000,
        "utilizationTargetType": "DELTA_PER_SECOND"
      }
    ],
    "scalingSchedules": {
      "workday-capacity": {
        "minRequiredReplicas": 10,
        "schedule": "30 8 * * Mon-Fri",
        "durationSec": 30600,
        "description": "Have at least 10 VMs every Monday through Friday from 8:30 AM to 5 PM UTC"
      },
      "january-30-2030-schedule": {
        "minRequiredReplicas": 30,
        "schedule": "0 0 30 1 * 2030",
        "timeZone": "America/New_York",
        "durationSec": 86400,
        "description": "Schedule a minimum of 30 VMs all day for January 30, 2030"
      }
    },
    "maxNumReplicas": 50,
    "minNumReplicas": 1
  },
  "target": "https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instanceGroupManagers/MIG_NAME",
  "name": "MIG_NAME"
}

Sostituisci quanto segue:

  • PROJECT: il tuo ID progetto.
  • ZONE: la zona in cui si trova il MIG.
  • MIG_NAME: il nome di un MIG.
  • PATH_TO_CUSTOM_METRIC_1 e PATH_TO_CUSTOM_METRIC_2: (Facoltativi) i percorsi alle metriche personalizzate con un formato simile a custom.cloudmonitoring.googleapis.com/path/to/metric1 e custom.cloudmonitoring.googleapis.com/path/to/metric2. Per ulteriori informazioni, consulta Metriche personalizzate.

Come mostrato in questo esempio, puoi fornire più metriche personalizzate e pianificazioni di scalabilità nella stessa richiesta.

Per ulteriori informazioni su come configurare i campi per ogni tipo di indicatore di scalabilità automatica, consulta le seguenti pagine: