Questo documento è rivolto agli amministratori della piattaforma che eseguono macchine virtuali (VM) su Google Distributed Cloud. Questo documento mostra come configurare il criterio di espulsione che controlla in che modo le VM che utilizzano il runtime VM su GDC possono eseguire automaticamente la migrazione su altri host durante gli eventi di manutenzione. Queste impostazioni di configurazione consentono alle VM di continuare a funzionare su altri host quando esegui l'upgrade di un cluster o la manutenzione di un host.
Prima di iniziare
Per completare questo documento, devi accedere a Google Distributed Cloud versione 1.12.0
(anthosBareMetalVersion: 1.12.0
) o cluster superiore. Puoi utilizzare qualsiasi cluster
in grado di eseguire carichi di lavoro. Se necessario,
prova Google Distributed Cloud su Compute Engine
o consulta la
panoramica della creazione dei cluster.
Impostazioni dei criteri di eliminazione
Google Distributed Cloud ti consente di configurare il comportamento dei nodi durante l'esecuzione o di attivare la modalità di manutenzione dei nodi. Il runtime della VM su GDC utilizza un criterio di espulsione che controlla il modo in cui il cluster gestisce le VM in esecuzione durante questi eventi.
Se abilitato, il runtime VM su GDC utilizza la migrazione live per spostare la VM a un altro host per impostazione predefinita. Questo comportamento minimizza il potenziale dei carichi di lavoro delle VM. Con la migrazione live, le VM di cui è possibile eseguire la migrazione da un host all'altro senza interruzioni per il sistema operativo guest.
È possibile configurare le seguenti impostazioni dei criteri di espulsione:
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
, il runtime VM su GDC tenta di
eseguire la migrazione di qualsiasi VM di cui è possibile eseguire la migrazione da un nodo per eliminarlo. La VM è posizionata
a un altro nodo nel cluster e continua a essere eseguito.
Se questo valore è impostato su Restart
, il runtime della VM su GDC non tenta di eseguire la migrazione delle VM. Le VM vengono arrestate quando il nodo viene messo in manutenzione
e le VM si riavviano quando il nodo viene escluso dalla modalità di manutenzione.
La VM non è disponibile durante l'evento di manutenzione dell'host.
Quando scegli la strategia LiveMigrate
, il runtime della VM 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 il tempo massimo necessario per l'avvio di una migrazione prima che venga considerato non riuscito. Una migrazione che richiede troppo tempo per avviarsi viene conteggiata ai fini del budget per le migrazioni non riuscite per un carico di lavoro VM.
Questa impostazione viene ignorata se evictionStrategy
è impostato su Restart
.
Abilita e configura il criterio di eliminazione
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: {}
, consente il criterio di eliminazione con
impostazioni predefinite. Per modificare il comportamento predefinito, aggiungi opzioni di configurazione aggiuntive all'oggetto evictionPolicy
.
Per attivare e configurare il criterio di espulsione, 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 del criterio di espulsione oppure 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 il campo
evictionPolicy
non è compilato, ad esempioevictionPolicy: null
o non è incluso nel file manifest, non viene intrapresa alcuna azione speciale. Le VM vengono forzate rimosso.I manifest di esempio seguenti mostrano come abilitare la migrazione live delle VM. riavvia le VM sullo stesso host al termine della manutenzione:
Migrazione live
Il seguente criterio di eliminazione di esempio consente la migrazione live delle VM. Il cluster può riprovare la migrazione in tempo reale fino a 3 volte, con un timeout di 30 secondi per ogni processo 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
L'esempio di criterio di eliminazione riportato di seguito non tenta di eseguire la migrazione per a qualsiasi VM durante l'eliminazione. Le VM vengono arrestate sull'host corrente e riavviate quando l'host termina l'evento di manutenzione:
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.Il runtime VM su GDC ora applica il criterio di espulsione alle VM nel tuo cluster.