Richtlinien zur Entfernung von VMs für Anthos-Cluster auf Bare-Metal konfigurieren

Dieses Dokument richtet sich an Plattformadministratoren, die virtuelle Maschinen (VMs) in Anthos-Clustern auf Bare-Metal ausführen. In diesem Dokument erfahren Sie, wie Sie die Bereinigungsrichtlinie konfigurieren, die steuert, wie VMs, die Anthos VM Runtime verwenden, während Wartungsereignissen automatisch zu anderen Hosts migrieren können. Mit diesen Konfigurationseinstellungen können Sie VMs weiterhin auf anderen Hosts ausführen, wenn Sie ein Upgrade für einen Cluster oder Wartung auf einem Host ausführen.

Hinweis

Wenn Sie dieses Dokument durcharbeiten möchten, benötigen Sie Zugriff auf Anthos-Cluster auf Bare Metal-Version 1.12.0 (anthosBareMetalVersion: 1.12.0) oder höher. Sie können einen beliebigen Clustertyp verwenden, der Arbeitslasten ausführen kann. Bei Bedarf können Sie Anthos-Cluster auf Bare Metal in Compute Engine ausprobieren oder die Übersicht über die Clustererstellung aufrufen.

Einstellungen für Bereinigungsrichtlinien

Mit Anthos-Clustern auf Bare-Metal können Sie das Knotenverhalten konfigurieren, wenn Sie Clusterupgrades durchführen oder Knoten in den Wartungsmodus versetzen. Anthos VM Runtime verwendet eine Bereinigungsrichtlinie, die steuert, wie der Cluster VMs verarbeitet, die während dieser Ereignisse ausgeführt werden.

Wenn diese Option aktiviert ist, verwendet die VM-Laufzeit von Anthos die Live-Migration, um VM-Arbeitslasten standardmäßig auf einen anderen Host zu verschieben. Dadurch werden potenzielle Unterbrechungen der VM-Arbeitslasten minimiert. Bei einer Live-Migration werden migrierbare VMs von einem Host zu einem anderen verschoben, ohne dass das Gastbetriebssystem unterbrochen wird.

Die folgenden Einstellungen für die Bereinigungsrichtlinie können konfiguriert werden:

Attribut Standard Zulässige Werte
evictionStrategy LiveMigrate LiveMigrate, Restart
maxMigrationAttemptsPerVM 3 Ganzzahlen im Bereich [1,5]
migrationTargetInitializationTimeout 30s Ein beliebiger gültiger Dauerstring, z. B. 1m, 2h oder 1h30m

evictionStrategy

Wenn dieser Wert auf LiveMigrate gesetzt ist, versucht die Anthos VM-Laufzeit, eine migrierbare VM von einem Knoten weg zu migrieren, um sie zu entfernen. Die VM wird auf einem anderen Knoten im Cluster platziert und wird weiterhin ausgeführt.

Wenn dieser Wert auf Restart gesetzt ist, versucht die Anthos VM-Laufzeit nicht, VMs zu migrieren. Stattdessen werden VMs angehalten, wenn der Knoten in den Wartungsmodus versetzt wird, und die VMs werden neu gestartet, wenn der Knoten aus dem Wartungsmodus gebracht wird. Während des Hostwartungsereignisses ist die VM nicht verfügbar.

Wenn Sie sich für die Strategie LiveMigrate entscheiden, greift die Anthos-VM-Laufzeit auf die Strategie Restart für nicht migrierbare VMs zurück.

maxMigrationAttemptsPerVM

Diese Einstellung steuert die maximale Anzahl von Migrationsversuchen, die für eine bestimmte VM erfolgen können, bevor die Strategie Restart gilt.

Diese Einstellung wird ignoriert, wenn evictionStrategy auf Restart gesetzt ist.

migrationTargetInitializationTimeout

Mit dieser Einstellung wird festgelegt, wie lange eine Migration maximal dauern kann, bevor sie als fehlgeschlagen betrachtet wird. Eine Migration, deren Start zu lange dauert, wird auf das fehlgeschlagene Migrationsbudget für eine VM-Arbeitslast angerechnet.

Diese Einstellung wird ignoriert, wenn evictionStrategy auf Restart gesetzt ist.

Bereinigungsrichtlinie aktivieren und konfigurieren

Wenn Sie die Bereinigungsrichtlinie in der Anthos VM-Laufzeit verwenden möchten, muss die Einstellung evictionPolicy im VMRuntime-Objekt des Clusters definiert werden. Diese Einstellung ist in Anthos-Clustern auf Bare-Metal-Versionen 1.12 und höher standardmäßig aktiviert. Wenn Sie ein Upgrade von einer früheren Version durchführen, müssen Sie diese Einstellung manuell aktivieren.

Ein leeres Objekt wie evictionPolicy: {} aktiviert die Bereinigungsrichtlinie mit Standardeinstellungen. Fügen Sie dem evictionPolicy-Objekt zusätzliche Konfigurationsoptionen hinzu, um das Standardverhalten zu ändern.

Führen Sie die folgenden Schritte aus, um die Bereinigungsrichtlinie zu aktivieren und zu konfigurieren:

  1. Bearbeiten Sie die benutzerdefinierte VMRuntime-Ressource:

    kubectl edit vmruntime vmruntime
    
  2. Fügen Sie den Abschnitt evictionPolicy mit einem leeren Objekt hinzu oder aktualisieren Sie ihn, um die Standardeinstellungen für die Bereinigungsrichtlinie zu verwenden, oder fügen Sie die gewünschten Einstellungen hinzu:

    apiVersion: vm.cluster.gke.io/v1
    kind: VMRuntime
    metadata:
      name: vmruntime
    spec:
      disableCDIUploadProxyVIP: false
      enabled: true
      evictionPolicy: {}
      useEmulation: false
    

    Wenn evictionPolicy nicht ausgefüllt ist, z. B. evictionPolicy: null, oder nicht im Manifest enthalten ist, wird keine spezielle Aktion ausgeführt. VMs werden zwangsweise entfernt.

    Die folgenden Beispielmanifeste zeigen, wie die Live-Migration von VMs aktiviert oder die VMs nach Abschluss der Wartung auf demselben Host neu gestartet werden:

    Live-Migration

    Die folgende Beispielrichtlinie zur Entfernung ermöglicht die Live-Migration von VMs. Der Cluster kann die Live-Migration bis zu dreimal mit einem Zeitlimit von 30 Sekunden bei jedem Start wiederholen:

    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
    

    Neustart

    Die folgende Beispielrichtlinie zur Entfernung versucht keinen Migrationsversuch für alle VMs während der Bereinigung. VMs werden auf ihrem aktuellen Host angehalten und werden neu gestartet, wenn der Host das Wartungsereignis beendet hat:

    apiVersion: vm.cluster.gke.io/v1
    kind: VMRuntime
    metadata:
      name: vmruntime
    spec:
      disableCDIUploadProxyVIP: false
      enabled: true
      evictionPolicy:
        evictionStrategy: Restart
      useEmulation: false
    
  3. Speichern und schließen Sie die benutzerdefinierte VMRuntime-Ressource in Ihrem Editor.

    Die Anthos-VM-Laufzeit wendet jetzt die Bereinigungsrichtlinie auf VMs in Ihrem Cluster an.

Nächste Schritte