Informazioni sulla flessibilità delle istanze nei MIG

La flessibilità delle istanze nei gruppi di istanze gestite (MIG) ti consente di specificare più tipi di macchine per le istanze di macchine virtuali (VM) nel gruppo, anziché limitarti a un singolo tipo di macchina. Se un tipo di macchina non è disponibile, il MIG può selezionare automaticamente un altro tipo compatibile dall'elenco in base alla disponibilità delle risorse attuale. Questa flessibilità contribuisce a migliorare l'ottenibilità delle risorse, in particolare per le applicazioni che possono funzionare su diversi tipi di macchine e che richiedono una capacità su larga scala o hardware a domanda elevata.

Questo documento descrive il funzionamento della flessibilità delle istanze in un MIG e i suoi limiti. Per sapere come configurare un MIG in modo da utilizzare la flessibilità delle istanze, consulta Aggiungi flessibilità delle istanze.

Flessibilità delle istanze

Un MIG crea tutte le sue VM in base al template di istanza che selezioni. Il template di istanza specifica il tipo di macchina da utilizzare per ogni VM. Con la flessibilità delle istanze, puoi elencare tutti i tipi di macchine compatibili con la tua applicazione.

L'immagine seguente mette a confronto un MIG che utilizza un singolo tipo di macchina con un MIG che utilizza la flessibilità delle istanze. Come mostrato nell'immagine, un MIG con un singolo tipo di macchina crea VM identiche in base a un template di istanza, mentre un MIG con flessibilità delle istanze può creare VM con dimensioni e tipi di macchine diverse.

Confronto di un MIG che utilizza un singolo tipo di macchina con un MIG che utilizza la flessibilità delle istanze

Come funziona la flessibilità delle istanze

Per impostazione predefinita, un MIG crea tutte le VM utilizzando un singolo tipo di macchina dal template di istanza. Puoi impostare più tipi di macchine in un MIG configurando una selezione dell'istanza (instanceSelections) nella policy di flessibilità delle istanze (instanceFlexibilityPolicy).

Puoi anche specificare i tipi di macchine che vengono eseguiti su piattaforme CPU diverse e quelli con architetture diverse (architettura x86 e Arm). Per utilizzare i tipi di macchine con requisiti diversi per la piattaforma CPU minima o i dischi, utilizza la policy di flessibilità delle istanze per sostituire le proprietà corrispondenti del template di istanza. Per saperne di più, consulta Come funzionano le sostituzioni di minCpuPlatform e disks.

Esempio di sostituzioni del tipo di macchina

Se il tuo workload può funzionare su diversi tipi di macchine, puoi configurare un elenco di tutti i tipi di macchine compatibili con la tua applicazione in una singola instanceSelection come segue:

  "instanceFlexibilityPolicy": {
    "instanceSelections": {
      "instance-selection-1": {
        "machineTypes": ["c2-standard-8","c2d-standard-8","c3-standard-8", "c3d-standard-8"]
      }
    }
  }
  

I tipi di macchine all'interno di una selezione di istanze hanno la stessa preferenza. Se vuoi che un MIG scelga i tipi di macchine in un ordine specifico, puoi configurare più selezioni di istanze, ciascuna con un elenco di tipi di macchine e un ranking per definire la preferenza. Un valore più basso del ranking indica una preferenza più elevata. Il MIG tenta di creare le VM utilizzando i tipi di macchine con una preferenza più alta. Se questi tipi di macchine non sono disponibili, il MIG utilizza un tipo di macchina con una preferenza inferiore.

  "instanceFlexibilityPolicy": {
    "instanceSelections": {
      "most-preferred": {
        "rank": 1,
        "machineTypes": ["c3-standard-8","c2-standard-8"]
      },
      "least-preferred": {
        "rank": 2,
        "machineTypes": ["n2-standard-16","n1-standard-16"]
      }
    }
  }
  

L'applicazione deve essere pronta per l'esecuzione su uno dei tipi di macchine elencati poiché la disponibilità dell'hardware cambia nel tempo e l'hardware specifico non è garantito, a meno che non utilizzi le prenotazioni.

Le selezioni di istanze possono anche sostituire le proprietà dell'istanza come minCpuPlatform e disks. Per saperne di più, consulta la sezione seguente su Come funzionano le sostituzioni della selezione di istanze.

Come funzionano le sostituzioni di minCpuPlatform e disks

In una selezione di istanze, puoi specificare proprietà dell'istanza aggiuntive, come la piattaforma CPU minima (minCpuPlatform) e i dischi (disks), per sostituire quelle definite nel template di istanza. Quando un MIG seleziona un tipo di macchina da una selezione di istanze, crea una VM utilizzando le proprietà dell'istanza specificate in quella selezione di istanze. Se non specifichi nessuna di queste proprietà per una selezione di istanze, il MIG utilizzerà le proprietà corrispondenti del template per quella selezione.

La sostituzione di queste proprietà a livello di selezione di istanze offre maggiore controllo e flessibilità, soprattutto quando si utilizza hardware diverso in un MIG.

  • Sostituisci la piattaforma CPU minima quando combini tipi di macchine che vengono eseguiti su piattaforme CPU diverse. Puoi specificare una piattaforma CPU minima per le istanze create dai tipi di macchine all'interno di una selezione. Questa sostituzione ti consente di combinare tipi di macchine diversi, ma di applicare in modo selettivo le piattaforme CPU minime. In alternativa, puoi configurare la selezione di istanze in modo che selezioni automaticamente una piattaforma CPU impostando il campo minCpuPlatform su AUTOMATIC. Questa selezione automatica sostituisce l'impostazione della piattaforma CPU minima del template di istanza e consente al MIG di utilizzare qualsiasi piattaforma CPU compatibile per i tipi di macchine selezionati.

    Ad esempio, puoi combinare i tipi di macchine delle serie di macchine N1 e N2 in una selezione, assicurandoti che le macchine N1 vengano eseguite su Intel Skylake per ottenere miglioramenti delle prestazioni.

  • Sostituisci i dischi quando combini tipi di macchine con architetture diverse. Puoi specificare una configurazione del disco personalizzata per sostituire il disco di avvio o i dischi aggiuntivi specificati nelle proprietà dell'istanza oppure per collegare uno spazio di archiviazione specifico. Questa sostituzione ti consente di combinare tipi di macchine con architetture diverse o che non condividono le tecnologie dei dischi e di specificare le immagini di avvio o i dischi appropriati richiesti per ogni tipo di macchina.

    Ad esempio, puoi combinare i tipi di macchine C4 (architettura x86) e C4A (architettura Arm). Poiché le macchine x86 e Arm richiedono immagini di avvio diverse, puoi utilizzare selezioni di istanze separate per sostituire il disco di avvio per ogni architettura.

    Quando specifichi i dischi per una selezione di istanze, il MIG unisce i dischi nel template di istanza e nella selezione di istanze in base alle chiavi deviceName. Il seguente diagramma mostra un esempio.

    Unione dei dischi dal modello di istanza e dalla selezione delle istanze

Per informazioni sulle limitazioni quando utilizzi le sostituzioni della selezione di istanze, consulta la sezione Limitazioni in questo documento.

Esempio di sostituzioni della piattaforma CPU minima e dei dischi

Considera un template di istanza con la seguente configurazione:

  {
    ...
      "disks": [
        {
          "autoDelete": true,
          "deviceName": "boot",
          "boot": true,
          "diskEncryptionKey": {},
          "initializeParams": {
            "sourceImage": "projects/debian-cloud/global/images/family/debian-12",
            "diskSizeGb": "10",
            "diskType": "pd-balanced"
          }
        }
      ],
      "machineType": "n2-standard-2",
      ...
    }
  

Il seguente esempio di policy di flessibilità delle istanze sostituisce la configurazione del template specificando una piattaforma CPU minima e una configurazione del disco.

  "instanceFlexibilityPolicy": {
    "instanceSelections": {
      "first-preference": {
        "rank": 1,
        "machineTypes": ["n4-standard-4 "],
        "disks": [
          {
            "autoDelete": true,
            "deviceName": "boot",
            "boot": true,
            "diskEncryptionKey": {},
            "initializeParams": {
              "sourceImage": "projects/debian-cloud/global/images/family/debian-12",
              "diskSizeGb": "10",
              "diskType": "hyperdisk-balanced"
            }
          }
        ]
      },
      "second-preference": {
        "rank": 2,
        "machineTypes": ["n2-standard-4"],
        "minCpuPlatform": "Intel Ice Lake",
        "disks": [
          {
            "autoDelete": true,
            "deviceName": "boot",
            "boot": true,
            "initializeParams": {
              "sourceImage": "projects/debian-cloud/global/images/family/debian-12",
              "diskSizeGb": "10",
              "diskType": "pd-ssd"
            }
          }
        ]
      },
      "third-preference": {
        "rank": 3,
        "machineTypes": ["n1-standard-4"],
        "minCpuPlatform": "Intel Skylake",
      }
    }
  }
  

In che modo un MIG seleziona i tipi di macchine

Quando configuri più tipi di macchine, il MIG seleziona un tipo di macchina in base alla disponibilità delle risorse attuali e dà la priorità alle prenotazioni inutilizzate. Se hai configurato i ranking, il MIG prende in considerazione innanzitutto l'ordine delle tue preferenze. All'interno di una selezione di istanze con ranking, il MIG controlla la disponibilità delle risorse e poi le prenotazioni.

Anche le zone della regione del MIG potrebbero influire sulla selezione del tipo di macchina, in quanto la disponibilità delle risorse varia da una zona all'altra. Per saperne di più, consulta la sezione seguente sul modo in cui un MIG seleziona le zone.

In che modo un MIG seleziona le zone

Puoi configurare la flessibilità delle istanze in un MIG a livello di regione con una forma di distribuzione target BALANCED, ANY, o ANY_SINGLE_ZONE. La flessibilità delle istanze non supporta la forma di distribuzione target EVEN.

Con la flessibilità delle istanze, quando un MIG a livello di regione crea una VM, il MIG seleziona una zona in base alla forma di distribuzione target selezionata nel modo seguente:

  • BALANCED: il MIG seleziona una zona con risorse disponibili che può bilanciare la distribuzione delle VM tra le zone nel modo più uniforme possibile. All'interno di una zona selezionata, il MIG dà la priorità ai tipi di macchine in base ai ranking, se configurato, e alle prenotazioni disponibili.

  • ANY: il MIG seleziona una zona con risorse e prenotazioni disponibili. Se sono configurati i ranking, il MIG dà la priorità alla zona in cui è disponibile un tipo di macchina in base ai ranking.

  • ANY_SINGLE_ZONE: il MIG seleziona la zona con il maggior numero di tipi di macchine in base al ranking, se configurato, e in cui il MIG può creare la maggior parte delle VM dalle prenotazioni inutilizzate.

Per ulteriori informazioni sul funzionamento di una forma di distribuzione target, consulta Forma di distribuzione target del MIG a livello di regione.

Flessibilità delle istanze e prenotazioni

Puoi utilizzare la flessibilità delle istanze con le prenotazioni. In base alla proprietà di affinità della prenotazione impostata nel template di istanza, un MIG utilizza le prenotazioni nel seguente modo:

  • ANY_RESERVATION (consigliato per la flessibilità delle istanze): quando utilizzi una prenotazione qualsiasi, il MIG seleziona prima il tipo di macchina con prenotazione inutilizzata. Se vuoi modificare l'ordine in cui il MIG seleziona i tipi di macchine, puoi configurare più selezioni di istanze e specificare la tua preferenza utilizzando il ranking. Il MIG segue quindi prima i ranking e poi prende in considerazione le prenotazioni disponibili per i tipi di macchine all'interno di un ranking.

  • SPECIFIC: quando utilizzi una prenotazione specifica, il MIG seleziona il tipo di macchina che corrisponde alle proprietà della prenotazione. Se le selezioni di istanze non includono il tipo di macchina che corrisponde alle proprietà della prenotazione specifica, la creazione dell'istanza non va a buon fine.

Per saperne di più sulle prenotazioni, consulta Informazioni sulle prenotazioni.

Flessibilità delle istanze e VM spot

Se il tuo MIG con flessibilità delle istanze utilizza VM spot, selezionerà automaticamente un tipo di macchina con il tasso di prerilascio osservato più basso per garantire la minore interruzione possibile per il tuo workload. Se vuoi ignorare questo comportamento, puoi configurare più selezioni di istanze e specificare la tua preferenza utilizzando il ranking. Il MIG segue prima l'ordine di preferenza e poi considera l'affidabilità delle VM Spot all'interno di una selezione di istanze.

Per ulteriori informazioni sulle VM spot, consulta VM spot in un gruppo di istanze gestite.

Flessibilità delle istanze e riparazioni delle VM

Per impostazione predefinita, se una VM in un MIG smette di funzionare, il MIG la ripara ricreandola con la stessa configurazione, incluso il tipo di macchina. Se configuri la flessibilità delle istanze e abiliti gli aggiornamenti durante la riparazione, puoi aumentare le probabilità di ottenere risorse in caso di esaurimento delle scorte. Quando un MIG tenta di ricreare una VM, se il tipo di macchina originale della VM non è disponibile, riceverai un errore di esaurimento delle scorte. Con gli aggiornamenti durante la riparazione abilitati, il MIG utilizza le selezioni di istanze specificate e la disponibilità attuale per scegliere un altro tipo di macchina per la creazione della VM. L'abilitazione degli aggiornamenti durante la riparazione consente anche di garantire che la VM ricreata utilizzi la configurazione della flessibilità delle istanze più recente.

Per ulteriori informazioni sulle riparazioni, consulta Informazioni sulla riparazione delle VM per l'alta affidabilità.

Flessibilità delle istanze e scalabilità automatica

Quando configuri la scalabilità automatica in un MIG con più tipi di macchine, si verifica quanto segue:

  • Quando un gestore della scalabilità automatica esegue lo scale out di un MIG, il MIG crea le VM selezionando i tipi di macchine nello stesso modo di un MIG senza scalabilità automatica. Per saperne di più, consulta la sezione In che modo un MIG seleziona i tipi di macchine in questo documento.

  • Quando un gestore della scalabilità automatica esegue lo scale in di un MIG, il MIG seleziona le VM da eliminare nel seguente modo:

    1. Il MIG dà la priorità all'eliminazione delle VM che preservano al meglio la forma di distribuzione target.
    2. Se hai configurato i ranking, tra le VM con priorità, il MIG dà la priorità all'eliminazione delle VM che utilizzano tipi di macchine con ranking inferiore.
    3. Infine, il MIG controlla il suggerimento del gestore della scalabilità automatica per selezionare le VM da eliminare.

La scalabilità automatica funziona in modo efficace quando il MIG ha tipi di macchine con prestazioni simili, ad esempio macchine con lo stesso numero di vCPU. In caso contrario, quando il MIG esegue lo scale out o lo scale in, il gestore della scalabilità automatica potrebbe tentare di aggiungere o rimuovere più frequentemente il tipo di macchina con le prestazioni più elevate. Questo comportamento può verificarsi indipendentemente dal ranking configurato per quel tipo di macchina.

Per ulteriori informazioni sulla scalabilità automatica, consulta Scalabilità automatica dei gruppi di istanze.

Casi d'uso

Le sezioni seguenti descrivono alcuni casi d'uso della flessibilità delle istanze nei MIG.

Ottimizza i costi

Un MIG può eseguire automaticamente il provisioning delle istanze più convenienti per la tua infrastruttura quando configuri le impostazioni di flessibilità delle istanze del MIG nel seguente modo:

  • Tipi di macchine: seleziona i tipi di macchine che offrono il rapporto costo-prestazioni preferito per il tuo workload. Non devi specificare tutte le dimensioni disponibili di ogni tipo di macchina; specifica solo le dimensioni più convenienti per le tue esigenze.

  • Ranking: assegna i ranking alle selezioni di istanze in base alle tue preferenze di costo, con il tipo di macchina più economico come preferito. In questo modo, ti assicuri di ottenere il tipo di macchina più economico in base alla disponibilità.

  • Località: quando crei il MIG, seleziona tutte le zone e la forma di distribuzione target ANY. In questo modo, aumenti le probabilità di ottenere i tipi di macchine più economici nelle zone in cui sono disponibili.

In base alle impostazioni di flessibilità delle istanze, il MIG esegue automaticamente il provisioning della migliore combinazione possibile di tipi di macchine disponibili per soddisfare i criteri di costo e la capacità totale richiesta. In questo modo, si garantisce il costo più basso possibile in un determinato momento.

Migliora l'ottenibilità

Puoi configurare la flessibilità delle istanze MIG per migliorare l'ottenibilità. Per farlo, seleziona il maggior numero possibile di tipi di macchine compatibili con la tua applicazione all'interno dello stesso ranking. Puoi aumentare ulteriormente la probabilità di ottenere le risorse scegliendo tutte le zone quando crei il MIG e utilizzando la forma di distribuzione target ANY, che dà la priorità alle zone in cui sono disponibili le risorse. In base ai tipi di macchine selezionati e alla forma ANY, il MIG trova la capacità dove è più disponibile.

Per massimizzare le probabilità di acquisire VM spot e ridurre le probabilità di prerilascio, Google consiglia di includere un'ampia gamma di tipi di macchine nello stesso ranking. In questo modo, la ricerca di capacità disponibile del MIG viene ampliata, ottenendo i migliori risultati possibili con il modello di provisioning spot.

Massimizza le prestazioni

Puoi configurare la flessibilità delle istanze MIG per massimizzare le prestazioni. Per farlo, seleziona le famiglie e le dimensioni delle macchine più adatte al tuo workload. Quindi, classifica i tipi di macchine in base alle prestazioni, dalla più alta alla più bassa, utilizzando la dimensione preferita all'interno di ogni famiglia. In base al ranking e ai tipi di macchine, il MIG seleziona le macchine con le prestazioni più elevate tra tutte le risorse disponibili.

Inoltre, la specifica di una minCpuPlatform per la selezione di istanze può garantire che il MIG selezioni una piattaforma CPU ad alte prestazioni.

Transizione senza interruzioni ai tipi di macchine più recenti

Puoi configurare la flessibilità delle istanze MIG per dare la priorità all'adozione dei tipi di macchine di ultima generazione, utilizzando i tipi di macchine di generazione precedente come fallback per la capacità. Per farlo, crea una selezione di istanze contenente i tipi di macchine di ultima generazione e assegna un ranking inferiore (preferenza più alta). Se questi tipi di macchine richiedono configurazioni dei dischi diverse, utilizza le sostituzioni dei dischi all'interno di questa selezione di istanze per definire le proprietà specifiche dei dischi. Crea una seconda selezione di istanze contenente i tipi di macchine di generazione precedente da utilizzare come fallback. Assegna un ranking più alto (preferenza più bassa) a questa selezione di istanze.

Quando crei il MIG, seleziona tutte le zone nella regione e la forma di distribuzione target ANY. Questa configurazione garantisce che il MIG cerchi prima le macchine di ultima generazione in tutte le zone della regione. Il MIG eseguirà il provisioning delle macchine di generazione precedente solo se non riesce a trovare una capacità di ultima generazione sufficiente, assicurando che la capacità totale richiesta sia sempre soddisfatta e massimizzando la quota dell'hardware più recente.

Limitazioni

La flessibilità delle istanze presenta le seguenti limitazioni:

Passaggi successivi