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 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
minCpuPlatformsuAUTOMATIC. 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.
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:
- Il MIG 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.
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:
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 sostituisci
minCpuPlatformedisks, si applicano anche le seguenti limitazioni:Devi abilitare gli aggiornamenti durante le riparazioni.
Quando configuri
minCpuPlatformodisksper una selezione di istanze esistente, devi includere anche il campomachineTypes. Senza il campomachineTypes, l'operazione non va a buon fine e viene generato un errore.Non puoi applicare la policy stateful o la configurazione per istanza ai dischi sostituiti tramite una selezione di istanze.
Puoi sostituire gli SSD locali solo per quei tipi di macchine che ti consentono di scegliere un numero di dischi SSD locali. Non puoi sostituire l'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 anche 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.
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, i tipi di macchine con prestazioni simili possono impedire l'aggiunta o l'eliminazione del tipo di macchina con le prestazioni più elevate.
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.