Questo documento è destinato agli amministratori della piattaforma che eseguono macchine virtuali (VM) in Google Distributed Cloud. Questo documento mostra come configurare la policy di espulsione che controlla la modalità di migrazione automatica delle VM che utilizzano VM Runtime su GDC ad altri host durante gli eventi di manutenzione. Queste impostazioni di configurazione consentono alle VM di continuare a essere eseguite su altri host quando esegui l'upgrade di un cluster o esegui la manutenzione di un host.
Prima di iniziare
Per completare questo documento, devi avere accesso a Google Distributed Cloud versione 1.12.0
(anthosBareMetalVersion: 1.12.0
) o a un cluster successivo. Puoi utilizzare qualsiasi tipo di cluster in grado di eseguire carichi di lavoro. Se necessario,
prova Google Distributed Cloud su Compute Engine
o consulta la
panoramica della creazione del cluster.
Impostazioni delle norme di sfratto
Google Distributed Cloud ti consente di configurare il comportamento dei nodi quando esegui upgrade del cluster o metti i nodi in modalità di manutenzione. VM Runtime su GDC utilizza una policy di espulsione che controlla il modo in cui il cluster gestisce le VM in esecuzione durante questi eventi.
Se abilitato, VM Runtime su GDC utilizza la migrazione live per spostare i carichi di lavoro delle VM su un altro host per impostazione predefinita. Questo comportamento riduce al minimo le potenziali interruzioni dei carichi di lavoro delle VM. Con la migrazione live, le VM di cui è possibile eseguire la migrazione vengono spostate da un host a un altro senza interruzioni del sistema operativo guest.
È possibile configurare le seguenti impostazioni dei criteri di sfratto:
Proprietà | Predefinito | Valori validi |
---|---|---|
evictionStrategy |
LiveMigrate |
LiveMigrate , Restart |
maxMigrationAttemptsPerVM |
3 |
Numeri interi nell'intervallo [1 ,5 ] |
migrationTargetInitializationTimeout |
30s |
Qualsiasi stringa di durata valida, ad esempio 1m , 2h o 1h30m |
evictionStrategy
Se questo valore è impostato su LiveMigrate
, VM Runtime su GDC tenta di
eseguire la migrazione di qualsiasi VM di cui è possibile eseguire la migrazione da un nodo per espellerla. La VM viene posizionata su un altro nodo del cluster e continua a essere eseguita.
Se questo valore è impostato su Restart
, VM Runtime su GDC non tenta
di eseguire la migrazione delle VM. Le VM vengono invece arrestate quando il nodo viene messo in modalità di manutenzione e riavviate quando il nodo esce dalla modalità di manutenzione.
La VM non è disponibile durante l'evento di manutenzione dell'host.
Quando scegli la strategia LiveMigrate
, VM Runtime su GDC torna alla strategia Restart
per le VM non migrabili.
maxMigrationAttemptsPerVM
Questa impostazione controlla il numero massimo di tentativi di migrazione che possono verificarsi
per una determinata VM prima dell'applicazione della strategia Restart
.
Questa impostazione viene ignorata se evictionStrategy
è impostato su Restart
.
migrationTargetInitializationTimeout
Questa impostazione controlla la quantità massima di tempo che una migrazione può impiegare per avviarsi prima di essere considerata non riuscita. Una migrazione che richiede troppo tempo per l'avvio viene conteggiata nel budget per le migrazioni non riuscite per un carico di lavoro VM.
Questa impostazione viene ignorata se evictionStrategy
è impostato su Restart
.
Attiva e configura il criterio di sfratto
Per utilizzare il criterio di espulsione in VM Runtime su GDC, l'impostazione
evictionPolicy
deve essere definita nell'oggetto VMRuntime
del cluster.
Questa impostazione è attiva per impostazione predefinita. Se esegui l'upgrade da una versione precedente, devi
attivare questa impostazione manualmente.
Un oggetto vuoto, ad esempio evictionPolicy: {}
, attiva il criterio di rimozione con le impostazioni predefinite. Per modificare il comportamento predefinito, aggiungi altre opzioni di configurazione
all'oggetto evictionPolicy
.
Per abilitare e configurare la policy di sfratto, completa i seguenti passaggi:
Modifica la risorsa personalizzata
VMRuntime
:kubectl edit vmruntime vmruntime
Aggiungi o aggiorna la sezione
evictionPolicy
con un oggetto vuoto per utilizzare le impostazioni predefinite dei criteri di rimozione o aggiungi le impostazioni che preferisci:apiVersion: vm.cluster.gke.io/v1 kind: VMRuntime metadata: name: vmruntime spec: disableCDIUploadProxyVIP: false enabled: true evictionPolicy: {} useEmulation: false
Se
evictionPolicy
non è compilato, ad esempioevictionPolicy: null
o non è incluso nel manifest, non viene intrapresa alcuna azione speciale. Le VM vengono espulse forzatamente.I seguenti manifest di esempio mostrano come attivare la migrazione live delle VM o riavviare le VM sullo stesso host al termine della manutenzione:
Migrazione live
Il seguente criterio di espulsione di esempio consente la migrazione live delle VM. Il cluster può riprovare la migrazione live fino a 3 volte, con un timeout di 30 secondi per ogni tentativo di avvio:
apiVersion: vm.cluster.gke.io/v1 kind: VMRuntime metadata: name: vmruntime spec: disableCDIUploadProxyVIP: false enabled: true evictionPolicy: evictionStrategy: LiveMigrate maxMigrationAttemptsPerVM: 3 migrationTargetInitializationTimeout: 30s useEmulation: false
Riavvia
Il seguente esempio di criterio di sfratto non tenta la migrazione per nessuna VM durante lo sfratto. Le VM vengono arrestate sull'host corrente e riavviate al termine dell'evento di manutenzione dell'host:
apiVersion: vm.cluster.gke.io/v1 kind: VMRuntime metadata: name: vmruntime spec: disableCDIUploadProxyVIP: false enabled: true evictionPolicy: evictionStrategy: Restart useEmulation: false
Salva e chiudi la risorsa personalizzata
VMRuntime
nell'editor.VM Runtime su GDC ora applica la policy di espulsione alle VM nel tuo cluster.