Dieses Dokument richtet sich an Plattformadministratoren, die virtuelle Maschinen (VMs) in Google Distributed Cloud ausführen. In diesem Dokument erfahren Sie, wie Sie die Bereinigungsrichtlinie konfigurieren, die steuert, wie VMs, die VM-Laufzeit auf GDC verwenden, bei Wartungsereignissen automatisch zu anderen Hosts migriert werden 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.
Hinweise
Für dieses Dokument benötigen Sie Zugriff auf den Google Distributed Cloud-Cluster Version 1.12.0 (anthosBareMetalVersion: 1.12.0
) oder höher. Sie können einen beliebigen Clustertyp verwenden, der Arbeitslasten ausführen kann. Probieren Sie bei Bedarf Google Distributed Cloud in Compute Engine aus oder lesen Sie die Übersicht zum Erstellen von Clustern.
Einstellungen für Bereinigungsrichtlinien
Mit Google Distributed Cloud können Sie das Knotenverhalten konfigurieren, wenn Sie Clusterupgrades ausführen oder Knoten in den Wartungsmodus versetzen. Die VM-Laufzeit in GDC verwendet eine Bereinigungsrichtlinie, die steuert, wie der Cluster mit VMs umgeht, die während dieser Ereignisse ausgeführt werden.
Wenn diese Option aktiviert ist, verwendet die VM-Laufzeit in GDC 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 VM-Laufzeit auf GDC, alle migrierbaren VMs von einem Knoten 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 VM-Laufzeit auf GDC 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 die Strategie LiveMigrate
auswählen, wird die VM-Laufzeit auf GDC auf die Strategie Restart
für nicht migrierbare VMs zurückgesetzt.
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
Damit Sie die Bereinigungsrichtlinie in der VM-Laufzeit auf GDC verwenden können, muss die Einstellung evictionPolicy
im VMRuntime
-Objekt des Clusters definiert werden.
Diese Einstellung ist standardmäßig aktiviert. Wenn Sie ein Upgrade von einer früheren Version ausfü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:
Bearbeiten Sie die benutzerdefinierte
VMRuntime
-Ressource:kubectl edit vmruntime vmruntime
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
Speichern und schließen Sie die benutzerdefinierte
VMRuntime
-Ressource in Ihrem Editor.Die VM-Laufzeit in GDC wendet jetzt die Bereinigungsrichtlinie auf VMs in Ihrem Cluster an.