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.
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 tipi di macchine che vengono eseguiti su piattaforme CPU diverse e quelli
con architetture diverse (architettura x86 e Arm). Per utilizzare tipi di macchina
con requisiti diversi per la piattaforma CPU minima o i dischi, utilizza la policy di flessibilità
dell'istanza per eseguire l'override delle proprietà corrispondenti del template
di istanza. Per saperne di più, consulta
Come funzionano gli override di minCpuPlatform e disks.
Esempio di override 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 un singolo 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 delle istanze possono anche sostituire le proprietà delle istanze, ad esempio
minCpuPlatform e disks. Per saperne di più, consulta la sezione seguente
su come funzionano le sostituzioni della selezione delle istanze.
Come funzionano gli override di minCpuPlatform e disks
In una selezione di istanze, puoi specificare proprietà aggiuntive dell'istanza, ad esempio la piattaforma CPU minima (minCpuPlatform) e i dischi (disks), per ignorare 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. Se non specifichi nessuna di queste proprietà per una selezione di istanze, il MIG utilizzerà le proprietà corrispondenti dal template per quella selezione.
L'override di queste proprietà a livello di selezione dell'istanza offre maggiore controllo e flessibilità, soprattutto quando si utilizza hardware diverso in un MIG.
Esegui l'override della 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 macchina all'interno di una selezione. Questo override ti consente di combinare diversi tipi di macchine, ma di applicare in modo selettivo le piattaforme CPU minime. In alternativa, puoi configurare la selezione delle istanze in modo che selezioni automaticamente una piattaforma CPU impostando il campo
minCpuPlatformsuAUTOMATIC. Questa selezione automatica sostituisce l'impostazione della piattaforma CPU minima del modello di istanza e consente al gruppo di istanze gestite di utilizzare qualsiasi piattaforma CPU compatibile per i tipi di macchina selezionati.Ad esempio, puoi combinare 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.
Esegui l'override dei dischi quando combini tipi di macchine con architetture diverse. Puoi specificare una configurazione del disco personalizzata per ignorare il disco di avvio o i dischi aggiuntivi specificati nelle proprietà dell'istanza o per collegare uno spazio di archiviazione specifico. Questo override ti consente di combinare tipi di macchine con architetture diverse o che non condividono tecnologie del disco e 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.
Per informazioni sulle limitazioni quando utilizzi gli override di selezione delle istanze, consulta la sezione Limitazioni di questo documento.
Esempio di override della piattaforma CPU minima e del disco
Considera un modello 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 una policy di flessibilità dell'istanza esegue l'override della configurazione del modello 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 i ranking sono configurati, 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à di 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, 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 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 dell'istanza 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, completa i seguenti passaggi:
Visualizza la disponibilità delle risorse. Prima di creare un MIG con VM spot, puoi visualizzare la disponibilità delle risorse nella regione o nella zona in cui vuoi creare il MIG. Questa azione contribuisce a ridurre le probabilità di riscontrare errori di disponibilità delle risorse.
Per istruzioni, consulta Visualizzare la disponibilità delle VM spot.
Configura selezioni di più istanze. Puoi specificare il tipo di macchina e le zone in cui creare le VM spot utilizzando i ranghi. Il MIG segue prima l'ordine di preferenza e poi considera l'affidabilità delle VM Spot all'interno di una selezione di istanze.
Per istruzioni, consulta Crea un MIG con più tipi di macchina e preferenze.
Per ulteriori informazioni sull'utilizzo delle VM spot in un MIG, 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à dell'istanza e abiliti gli aggiornamenti durante la riparazione, puoi aumentare le possibilità 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, viene visualizzato un errore di esaurimento scorte. Con gli aggiornamenti durante la riparazione attivati, 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'attivazione degli aggiornamenti durante la riparazione contribuisce anche a 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 macchina, si verifica quanto segue:
Quando un gestore della scalabilità automatica esegue lo scale out di un MIG, il MIG crea VM selezionando i tipi di macchine nello stesso modo di un MIG non scalato automaticamente. Per saperne di più, consulta la sezione In che modo un MIG seleziona i tipi di macchine di questo documento.
Quando un gestore della scalabilità automatica esegue lo scale in di un MIG, il MIG seleziona le VM da eliminare come segue:
- Il gruppo di istanze gestite dà la priorità all'eliminazione delle VM che preservano al meglio la forma di distribuzione target.
- 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.
- Infine, il MIG controlla il suggerimento del gestore della scalabilità automatica per selezionare le VM da eliminare.
Lo scaling automatico 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 il tipo di macchina con le prestazioni migliori più spesso. Questo comportamento può verificarsi indipendentemente dal ranking che hai configurato per quel tipo di macchina.
Per saperne di più 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.
Migliorare l'ottenimento
Puoi configurare la flessibilità delle istanze MIG per migliorare l'ottenimento delle risorse:
Tipi di macchine: la configurazione di base consiste nel configurare più tipi di macchine all'interno di un singolo ranking. Questo singolo ranking conferisce loro la stessa preferenza, consentendo al MIG di selezionarne una qualsiasi in base alla disponibilità delle risorse. Tuttavia, se hai preferenze, puoi assegnare ranking diversi per specificare un ordine di preferenza per i tipi di macchine.
Località: puoi aumentare ulteriormente la possibilità di ottenere le risorse scegliendo tutte le zone durante la creazione del gruppo di istanze gestite e utilizzando la forma di distribuzione target
ANY. La formaANYconsente al gruppo di istanze gestite di cercare la capacità in tutte le zone.VM spot e prerilascio: quando utilizzi le VM spot, per massimizzare le possibilità di ottenere le VM e ridurre al minimo i prerilasci, Google consiglia di includere il maggior numero possibile di tipi di macchine compatibili all'interno dello stesso ranking. Questa configurazione consente al MIG di scegliere i tipi di macchine con i tassi di prerilascio più bassi per ridurre al minimo le interruzioni del tuo workload. Se configuri tipi di macchine con ranking diversi, il MIG assegna la priorità ai tipi di macchine in base al ranking anziché ai tassi di prerilascio, il che potrebbe comportare la selezione di un tipo di macchina con un tasso di prerilascio più elevato.
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-rendimento preferito per il tuo workload. Non è necessario specificare tutte le dimensioni disponibili di ogni tipo di macchina; specifica solo le dimensioni più convenienti per le tue esigenze.
Ranking: assegna un ranking alle selezioni delle istanze in base alle tue preferenze di costo, con il tipo di macchina a costo più basso come preferito. In questo modo, puoi ottenere il tipo di macchina al costo più basso in base alla disponibilità.
Località: quando crei il MIG, seleziona tutte le zone e la forma di distribuzione target
ANY. In questo modo, aumentano le possibilità di ottenere i tipi di macchine al costo più basso 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, viene garantito il costo più basso possibile in un determinato momento.
Massimizzare il rendimento
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 carico di lavoro. Quindi, classifica i tipi di macchine in base al rendimento, dal più alto al più basso, utilizzando le dimensioni più preferite all'interno di ogni famiglia. In base al ranking e ai tipi di macchine, il MIG seleziona le macchine con le prestazioni migliori tra tutte le risorse disponibili.
Poiché le generazioni di macchine più recenti in genere offrono prestazioni per core superiori, non è necessario limitare la selezione delle macchine per utilizzare le stesse dimensioni (numero di vCPU) in famiglie diverse per ottenere prestazioni equivalenti. Ad esempio, quando selezioni tra le famiglie di macchine, puoi combinare diversi conteggi di CPU, ad esempio n1-standard-32 con n2-standard-16.
Inoltre, specificare un minCpuPlatform per la selezione dell'istanza 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à. A questo scopo, 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 del disco diverse, utilizza gli override del disco all'interno di questa selezione di istanze per definire le proprietà specifiche del disco. Crea una seconda selezione di istanze contenente i tipi di macchine di generazione precedente da utilizzare come fallback. Assegna un ranking più alto (preferenza inferiore) 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 gruppo di istanze gestite esegue il provisioning delle macchine di generazione precedente solo se non riesce a trovare una capacità sufficiente dell'ultima generazione, garantendo che la capacità totale richiesta venga sempre soddisfatta e massimizzando la quota dell'hardware più recente.
Limitazioni
La flessibilità delle istanze presenta le seguenti limitazioni:
La flessibilità delle istanze non è supportata nei MIG a livello di zona. In alternativa, puoi utilizzare un MIG a livello di regione con una singola zona.
La flessibilità delle istanze non supporta le seguenti funzionalità dei MIG:
- MIG a livello di regione con forma di distribuzione target
impostata su
EVEN - Aggiornamento automatico della configurazione della VM e aggiornamenti canary (due template di istanza)
- Sospensione o arresto delle VM
- Richieste di ridimensionamento che creano più VM GPU contemporaneamente
- MIG a livello di regione con forma di distribuzione target
impostata su
Quando esegui l'override di
minCpuPlatformedisks, si applicano anche le seguenti limitazioni:Devi abilitare gli aggiornamenti durante le riparazioni.
Quando configuri
minCpuPlatformodisksper una selezione di istanze esistenti, devi includere anche il campomachineTypes. Senza il campomachineTypes, l'operazione non riesce e viene visualizzato un errore.Non puoi applicare la policy stateful o la configurazione per istanza ai dischi di cui è stato eseguito l'override tramite una selezione dell'istanza.
Puoi eseguire l'override degli SSD locali solo per i tipi di macchine che ti consentono di scegliere un numero di dischi SSD locali. Non puoi eseguire l'override dell'SSD locale per le varianti
-lssddei tipi di macchine, che collegano automaticamente i dischi SSD locali.Devi specificare un tipo di macchina univoco in tutte le selezioni di istanze. Ad esempio, non puoi specificare
n1-standard-2in una selezione con una CPUSkylakee in un'altra selezione con una CPUBroadwell.
Per garantire un bilanciamento del carico o una scalabilità automatica efficaci in un MIG con flessibilità delle istanze, utilizza tipi di macchine con prestazioni simili, ad esempio lo stesso numero di vCPU. Tuttavia, "prestazioni simili" non si limita all'utilizzo delle stesse dimensioni in famiglie diverse. Poiché le generazioni di macchine più recenti in genere hanno prestazioni più elevate per vCPU, puoi combinare diversi conteggi di vCPU (ad esempio, combinando
n1-standard-32conn2-standard-28).In Cloud Load Balancing, i tipi di macchine con prestazioni simili possono impedire il sovrautilizzo di hardware più piccoli e il sottoutilizzo di macchine più veloci.
Nella scalabilità automatica, tipi di macchine con prestazioni simili possono impedire l'aggiunta o l'eliminazione del tipo di macchina con il rendimento migliore.
Passaggi successivi
- Scopri di più sui diversi tipi di macchine.
- Aggiungi la flessibilità delle istanze a un MIG.
- Visualizza la flessibilità delle istanze in un MIG.