Questo documento è rivolto agli amministratori di piattaforma che eseguono macchine virtuali (VM) in GKE su Bare Metal. Questo documento mostra come configurare il criterio di rimozione, che controlla il modo in cui le VM che utilizzano il runtime VM su GDC possono eseguire la migrazione automatica ad altri host durante gli eventi di manutenzione. Queste impostazioni di configurazione consentono di continuare a eseguire le VM su altri host quando esegui l'upgrade di un cluster o la manutenzione su un host.
Prima di iniziare
Per completare questo documento, devi accedere al cluster GKE su Bare Metal versione 1.12.0
(anthosBareMetalVersion: 1.12.0
) o successiva. Puoi usare qualsiasi tipo di cluster
in grado di eseguire carichi di lavoro. Se necessario,
prova GDCV per Bare Metal su Compute Engine
o consulta la
panoramica della creazione del cluster.
Impostazioni dei criteri di rimozione
GKE su Bare Metal ti consente di configurare il comportamento dei nodi quando esegui upgrade del cluster o imposti i nodi in modalità di manutenzione. Il runtime VM su GDC utilizza un criterio di rimozione 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 i carichi di lavoro delle VM in 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 migrabili si spostano da un host all'altro senza interruzioni del sistema operativo guest.
È possibile configurare le seguenti impostazioni dei criteri di rimozione:
Proprietà | Valore predefinito | Valori validi |
---|---|---|
evictionStrategy |
LiveMigrate |
LiveMigrate , Restart |
maxMigrationAttemptsPerVM |
3 |
Numeri interi nell'intervallo [1 ,5 ] |
migrationTargetInitializationTimeout |
30s |
Qualsiasi stringa di durata valida, come 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 rimuoverla. La VM viene posizionata su un altro nodo del cluster e continua a essere eseguita.
Se questo valore è impostato su Restart
, il runtime VM su GDC non tenta di eseguire la migrazione delle VM. Le VM vengono arrestate quando il nodo viene messo in modalità di manutenzione e le VM vengono riavviate quando viene disattivata la modalità di manutenzione.
La VM non è disponibile durante l'evento di manutenzione dell'host.
Se scegli la strategia LiveMigrate
, il runtime VM su GDC torna
alla strategia Restart
per le VM non idonee alla migrazione.
maxMigrationAttemptsPerVM
Questa impostazione controlla il numero massimo di tentativi di migrazione che possono verificarsi per una determinata VM prima che venga applicata la strategia Restart
.
Questa impostazione viene ignorata se il criterio evictionStrategy
viene impostato su Restart
.
migrationTargetInitializationTimeout
Questa impostazione controlla il tempo massimo necessario per avviare una migrazione prima che venga considerata non riuscita. Una migrazione che richiede troppo tempo per essere avviata viene conteggiata ai fini del budget di migrazione non riuscita per un carico di lavoro VM.
Questa impostazione viene ignorata se il criterio evictionStrategy
viene impostato su Restart
.
Attiva e configura il criterio di rimozione
Per utilizzare il criterio di rimozione nel runtime VM su GDC, è necessario definire l'impostazione evictionPolicy
nell'oggetto VMRuntime
del cluster. Questa impostazione è abilitata per impostazione predefinita in Anthos clusters on bare metal versione 1.12 e successive. Se esegui l'upgrade da una versione precedente, devi abilitare questa impostazione manualmente.
Un oggetto vuoto, come evictionPolicy: {}
, consente il criterio di rimozione con
le impostazioni predefinite. Per modificare il comportamento predefinito, aggiungi ulteriori opzioni
di configurazione all'oggetto evictionPolicy
.
Per attivare e configurare il criterio di rimozione, 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 oppure aggiungi le impostazioni desiderate:apiVersion: vm.cluster.gke.io/v1 kind: VMRuntime metadata: name: vmruntime spec: disableCDIUploadProxyVIP: false enabled: true evictionPolicy: {} useEmulation: false
Se
evictionPolicy
non viene compilato, ad esempioevictionPolicy: null
o non è incluso nel manifest, non viene intrapresa alcuna azione speciale. Le VM vengono rimosse forzatamente.I seguenti manifest di esempio mostrano come abilitare la migrazione live delle VM o riavviare le VM sullo stesso host al termine della manutenzione:
Migrazione live
Il criterio di rimozione di esempio riportato di seguito consente la migrazione live delle VM. Il cluster può riprovare a eseguire la migrazione live fino a tre volte, con un timeout di 30 secondi nel processo ogni volta all'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
Riavvio
Il criterio di rimozione dell'esempio seguente non esegue alcun tentativo di migrazione per alcuna VM durante l'eliminazione. Le VM vengono arrestate sull'host attuale e vengono 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.Ora il runtime VM su GDC applica il criterio di rimozione alle VM nel tuo cluster.