Utilizzo di un criterio di scalabilità automatica con più indicatori


Quando crei un criterio di scalabilità automatica con più indicatori, scala in base al segnale che fornisce il maggior numero di macchine virtuali (VM) nel gruppo di istanze gestite. In questo modo avrai la certezza sono sempre abbastanza VM per gestire i carichi di lavoro delle applicazioni e ti consente e scalare le applicazioni con più possibili colli di bottiglia.

Per saperne di più sui diversi tipi di indicatori di scalabilità automatica, consulta il Criterio di scalabilità automatica.

Prima di iniziare

  • Informazioni sul gestore della scalabilità automatica fondamentali.
  • Se non l'hai già fatto, configura l'autenticazione. Autenticazione è la procedura di verifica dell'identità per l'accesso ai servizi e alle API di Google Cloud. Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi eseguire l'autenticazione Compute Engine come segue.

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

    Console

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

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. REST

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

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      Per ulteriori informazioni, vedi Esegui l'autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.

In che modo il gestore della scalabilità automatica gestisce più indicatori

Un gestore della scalabilità automatica gestisce più indicatori calcolando il numero consigliato di delle VM per ciascun indicatore e quindi di scegliere quello che genera il traffico di VM nel gruppo di istanze gestite.

Un gestore della scalabilità automatica può gestire un indicatore per tipo di metrica, tranne che nel caso di Metriche e pianificazioni di scalabilità di Cloud Monitoring. Puoi scegliere fino a 5 indicatori di scalabilità automatica per Cloud Monitoring metriche e creare fino a 128 pianificazioni per gruppo di istanze gestite. Ad esempio, puoi creare un gestore della scalabilità automatica usa fino a 1 segnale di utilizzo della CPU, fino a 1 segnale di bilanciamento del carico, fino a 5 indicatori di metrica personalizzata e fino a 128 pianificazioni di scalabilità.

Ad esempio, puoi definire un gestore della scalabilità automatica con tutte le seguenti opzioni indicatori:

  • cpuUtilization con target di 0,8
  • loadBalancingUtilization con target di 0,6
  • customMetricUtilization per la metrica 1 con un target di 1000
  • customMetricUtilization per la metrica 2 con target 2000
  • scalingSchedules
    • Un minimo di 6 VM ogni sabato e domenica alle 00:00 per 24 ore
    • Un minimo di 15 VM da lunedì a venerdì alle 9:00 per 8 ore

In questo esempio, supponiamo che il gestore della scalabilità automatica misuri la seguente media valori di utilizzo per un gruppo di istanze gestite contenente 10 VM al momento della misurazione:

  • 0,5 per utilizzo CPU
  • 0,4 Utilizzo bilanciamento del carico
  • 1100 per metrica1
  • 2700 per metrica 2

Utilizzando i valori precedenti, il gestore della scalabilità automatica calcola il numero consigliato di VM basate su 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 metrica 1
  • 14 VM in base alla metrica 2
  • 6 VM ogni sabato e domenica per l'intera giornata in base alla prima pianificazione di scalabilità
  • 15 VM dal lunedì al venerdì dalle 9:00 alle 17:00 in base alla seconda pianificazione di scalabilità

Il gestore della scalabilità automatica sceglie il segnale che genera il maggior numero di VM nella MIG e imposta il gruppo di istanze gestite taglia consigliata a quel valore. In questo caso, il gestore della scalabilità automatica ridimensiona il gruppo a 15 VM se attualmente è attiva la seconda pianificazione 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 se stai utilizzando la console Google Cloud, gcloud CLI, o REST.

Console

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

    Vai a Gruppi di istanze

  2. Fai clic sul nome di un gruppo di istanze gestite nell'elenco. Quindi, fai clic su Modifica.

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

  4. In Numero minimo di istanze, inserisci il numero minimo di istanze. VM desiderate per questo gruppo di istanze gestite. La la dimensione minima di questo gruppo di istanze gestite viene sempre mantenuta, indipendentemente di scalabilità automatica.

  5. In Numero massimo di istanze inserisci il numero massimo di VM desiderate per questo gruppo di istanze gestite. La la dimensione massima di questo gruppo di istanze gestite non viene mai superata della dimensione consigliata generata dai relativi indicatori di scalabilità automatica.

  6. Per ogni indicatore di scalabilità automatica basato su metriche che vuoi aggiungere, nella sezione Metriche di scalabilità automatica, fai clic su Aggiungi metrica.

    • Per creare un indicatore di scalabilità automatica basato sull'utilizzo medio della CPU, In Tipo di metrica seleziona Utilizzo CPU dal menu a discesa o dal menu Fogli Google. Quindi, inserisci un Utilizzo CPU target e fai clic su Fine. Per ulteriori informazioni, vedi Scalabilità basata sull'utilizzo della CPU.
    • Per creare un indicatore di scalabilità automatica basato sulla gestione del bilanciamento del carico HTTP capacità, in Tipo di metrica seleziona Utilizzo del bilanciamento del carico HTTP dal menu a discesa. Quindi, inserisci un Utilizzo bilanciamento del carico HTTP di destinazione e fai clic su Fine. Per ulteriori informazioni, vedi Scalabilità basata sulla capacità di gestione del bilanciamento del carico.
    • Per creare un indicatore di scalabilità automatica basato sulle metriche di Cloud Monitoring, In Tipo di metrica, seleziona Metrica Cloud Monitoring dalla menu a discesa. Poi, compila i campi rimanenti e fai clic su Fine. Per ulteriori informazioni, vedi Scalabilità basata sulle metriche di Cloud Monitoring.
  7. Per ogni indicatore di scalabilità automatica basato su pianificazione che vuoi aggiungere, espandi la sezione Pianificazioni con 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. Quindi, nel Nel riquadro Pianificazioni della scalabilità, fai clic su Fine. Per ulteriori informazioni, vedi Scalabilità in base alle pianificazioni.

  9. In Periodo di inizializzazione, inserisci il numero di secondi necessari dell'applicazione deve essere inizializzata, questo consente alle VM di completare l'inizializzazione prima che il gestore della scalabilità ritenga affidabili i dati sull'utilizzo. Per ulteriori informazioni le informazioni, vedi Periodo di inizializzazione.

  10. (Facoltativo) Per abilitare 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, vedi controlli di scale in

  11. Fai clic su Salva.

gcloud

Per creare un gestore della scalabilità automatica con più indicatori, utilizza il metodo Comando set-autoscaling. Inserisci più specifiche di indicatori utilizzando le rispettive dalla riga di comando.

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

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 gruppo di istanze gestite.
  • PATH_TO_CUSTOM_METRIC_1 e PATH_TO_CUSTOM_METRIC_2: facoltativo: i percorsi per metriche personalizzate con un formato simile custom.cloudmonitoring.googleapis.com/path/to/metric1 e custom.cloudmonitoring.googleapis.com/path/to/metric2. Per ulteriori informazioni informazioni, consulta Metriche personalizzate.

Ad eccezione dei flag delle metrica personalizzata, puoi trasmettere un solo flag massimo per ogni tipo di metrica per comando gcloud. Per le metriche personalizzate, puoi fornire più metriche personalizzate con un solo comando ripetendo il flag --custom-metric-utilization.

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

REST

Per creare un gestore della scalabilità automatica, utilizza Metodo autoscalers.insert per un gruppo di istanze gestite a livello di zona Metodo regionAutoscalers.insert per un gruppo di istanze gestite a livello di regione.

Ad esempio, la seguente richiesta crea un gestore della scalabilità automatica che utilizza l'utilizzo della CPU e il bilanciamento del carico di gestione dei dati, due metriche personalizzate e due pianificazioni di scalabilità. La I campi maxNumReplicas e minNumReplicas limitano le dimensioni che il gruppo di istanze gestite può avere.

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 gruppo di istanze gestite.
  • MIG_NAME: il nome di un gruppo di istanze gestite.
  • PATH_TO_CUSTOM_METRIC_1 e PATH_TO_CUSTOM_METRIC_2: facoltativo: i percorsi per metriche personalizzate con un formato simile custom.cloudmonitoring.googleapis.com/path/to/metric1 e custom.cloudmonitoring.googleapis.com/path/to/metric2. Per ulteriori informazioni informazioni, consulta Metriche personalizzate.

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

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