Configura i criteri di eliminazione per le VM in Cluster Anthos on bare metal

Questo documento è rivolto agli amministratori di piattaforme che eseguono macchine virtuali (VM) in Cluster Anthos on bare metal. Questo documento mostra come configurare il criterio di eliminazione che controlla in che modo le VM che utilizzano il runtime VM di Anthos possono eseguire automaticamente la migrazione 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 esegui la manutenzione su un host.

Prima di iniziare

Per completare questo documento, devi accedere ai cluster Anthos su Bare Metal versione 1.12.0 (anthosBareMetalVersion: 1.12.0) o successiva. Puoi utilizzare qualsiasi tipo di cluster in grado di eseguire carichi di lavoro. Se necessario, prova i cluster Anthos su Bare Metal su Compute Engine o consulta la panoramica sulla creazione dei cluster.

Impostazioni dei criteri di rimozione

Cluster Anthos on bare metal ti consente di configurare il comportamento dei nodi quando esegui upgrade dei cluster o metti i nodi in modalità di manutenzione. Anthos VM Runtime utilizza un criterio di eliminazione che controlla la modalità di gestione delle VM in esecuzione durante questi eventi da parte del cluster.

Se abilitata, Anthos VM Runtime 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 migrabili passano da un host a un altro senza interruzioni del sistema operativo guest.

È possibile configurare le seguenti impostazioni dei criteri di eliminazione:

Proprietà Predefinito Valori validi:
evictionStrategy LiveMigrate LiveMigrate, Restart
maxMigrationAttemptsPerVM 3 Numero intero nell'intervallo [1,5]
migrationTargetInitializationTimeout 30s Qualsiasi stringa di durata valida, come 1m, 2h o 1h30m

evictionStrategy

Se questo valore è impostato su LiveMigrate, Anthos VM Runtime tenta di eseguire la migrazione di qualsiasi VM migrabile da un nodo per rimuoverlo. La VM viene inserita in un altro nodo nel cluster e continua a essere eseguita.

Se questo valore è impostato su Restart, Anthos VM Runtime non tenta di eseguire la migrazione delle VM. Le VM vengono invece arrestate quando il nodo viene impostato in modalità di manutenzione e le VM si riavviano quando il nodo viene disattivato. La VM non è disponibile durante l'evento di manutenzione dell'host.

Quando scegli la strategia LiveMigrate, il runtime VM di Anthos 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 avviare una migrazione prima che venga considerata non riuscita. Una migrazione che richiede troppo tempo per essere avviata viene conteggiata nel budget di migrazione non riuscita per un carico di lavoro VM.

Questa impostazione viene ignorata se evictionStrategy è impostato su Restart.

Abilita e configura il criterio di rimozione

Per utilizzare il criterio di eliminazione nel runtime della VM Anthos, l'impostazione evictionPolicy deve essere definita nell'oggetto VMRuntime del cluster. Questa impostazione è abilitata per impostazione predefinita nei cluster Anthos su Bare Metal versione 1.12 e successive. Se esegui l'upgrade da una versione precedente, devi attivare manualmente questa impostazione.

Un oggetto vuoto, come evictionPolicy: {}, attiva il criterio di eliminazione con le impostazioni predefinite. Per modificare il comportamento predefinito, aggiungi altre opzioni di configurazione all'oggetto evictionPolicy.

Per attivare e configurare il criterio di eliminazione, procedi nel seguente modo:

  1. Modifica la risorsa personalizzata VMRuntime:

    kubectl edit vmruntime vmruntime
    
  2. Aggiungi o aggiorna la sezione evictionPolicy con un oggetto vuoto per utilizzare le impostazioni del criterio di rimozione predefinito 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 completato, ad esempio evictionPolicy: null o non è incluso nel file manifest, non viene intrapresa alcuna azione speciale. Le VM vengono eliminate 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 seguente criterio di rimozione degli esempi 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 del processo ogni volta per avviarsi:

    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 criterio di eliminazione non esegue alcun tentativo di migrazione per nessuna VM durante l'eliminazione. Le VM vengono arrestate sull'host attuale e iniziano di nuovo quando l'host completa 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
    
  3. Salva e chiudi la risorsa personalizzata VMRuntime nell'editor.

    Anthos VM Runtime ora applica il criterio di eliminazione alle VM nel tuo cluster.

Passaggi successivi