Lebenszyklus von VM-Instanzen verwalten

Eine VM-Instanz kann im Verlauf ihres Lebenszyklus viele Status durchlaufen. Wenn Sie eine VM erstellen, stellt Google Distributed Cloud (GDC) Air-Gap-Ressourcen bereit, um die VM zu starten. Als Nächstes wird die VM in den Startzustand versetzt, in dem sie für den ersten Bootvorgang vorbereitet wird. Während und nach dem Start gilt eine VM als ausgeführt. Während ihrer Lebensdauer kann eine ausgeführte VM wiederholt beendet und neu gestartet bzw. angehalten und fortgesetzt werden.

Definitionen für den VM-Status

Bundesland Definition
Pending Die VM wird vom System akzeptiert und wartet auf die Zuweisung.
Provisioning Ressourcen, die mit der VM verknüpft sind, z. B. VirtualMachineDisk, werden bereitgestellt und vorbereitet.
Starting Die VM wird für die Ausführung vorbereitet.
Running Die VM wird ausgeführt.
Stopping Die VM wird gerade beendet.
Stopped Die VM wurde beendet und wird voraussichtlich nicht gestartet.
Paused Die VM wird angehalten und befindet sich in einem eingefrorenen Zustand, der beibehalten wird. Auf die VM kann nicht zugegriffen werden.
Terminating Die VM und die zugehörigen Ressourcen werden gerade gelöscht.
ErrorConfiguration Die VM hat einen Konfigurationsfehler. Die ungültigen Konfigurationsstatus können folgende Ursachen haben:
MachineTypeNotFound: Der VM-Typ, auf den sich die VM bezieht, wurde nicht gefunden oder wird gerade gelöscht.
MachineDiskMisconfig – Die VM-Festplatte ist falsch konfiguriert.
InterfaceCreationFailed: Die Netzwerkschnittstelle konnte nicht erstellt werden.
CrashLoopBackOff Die VM befindet sich in einer Absturzschleife und wartet auf einen erneuten Versuch.
PendingIPAllocation Die VM wartet darauf, dass ihr vom System eine IP-Adresse zugewiesen wird.
Unknown Der VM-Status konnte nicht abgerufen werden, in der Regel aufgrund eines Fehlers bei der Kommunikation mit dem Host, auf dem die VM ausgeführt wird.
ErrorUnschedulable Beim Planen der VM ist ein Fehler aufgetreten, z. B. aufgrund von Ressourcenanforderungen oder Planungsbeschränkungen, die nicht erfüllt oder unterstützt werden können.
DiskError Bei der VM ist ein Fehler mit mindestens einem der angehängten Laufwerke aufgetreten.
WaitingForDisk Die VM wartet darauf, dass mindestens eine der angehängten VirtualMachineDisk bereit ist.
CrashLoopBackoff Die VM ist aus irgendeinem Grund wiederholt abgestürzt.

Hinweise

Wenn Sie die Befehlszeilenbefehle (Command-Line Interface, CLI) von gdcloud verwenden möchten, müssen Sie die gdcloud-CLI heruntergeladen, installiert und konfiguriert haben. Für alle Befehle für Distributed Cloud wird die gdcloud- oder kubectl-CLI verwendet. Außerdem ist eine Betriebssystemumgebung erforderlich.

Pfad der kubeconfig-Datei abrufen

Damit Sie Befehle für den Management API-Server ausführen können, benötigen Sie die folgenden Ressourcen:

  1. Melden Sie sich an und generieren Sie die kubeconfig-Datei für den Management API-Server, falls Sie noch keine haben.

  2. Verwenden Sie den Pfad zur kubeconfig-Datei des Management API-Servers, um MANAGEMENT_API_SERVER in dieser Anleitung zu ersetzen.

Berechtigungen und Zugriff anfordern

Zum Ausführen der auf dieser Seite aufgeführten Aufgaben benötigen Sie die Rolle „ProjectVirtualMachine Admin“. Prüfen Sie, ob Sie die Rolle „Project VirtualMachine Admin“ (project-vm-admin) im Namespace des Projekts haben, in dem sich die VM befindet.

Wenn Sie VM-Vorgänge über die GDC-Konsole oder die gdcloud-CLI ausführen möchten, bitten Sie Ihren Projekt-IAM-Administrator, Ihnen die Rolle „Project VirtualMachine Admin“ und die Rolle „Project Viewer“ (project-viewer) zuzuweisen.

VM-Status prüfen

Jede VM meldet ihren Status als Teil der VM-Attribute. Prüfen Sie den Status einer VM aus einem der folgenden Gründe:

  • Wenn Probleme mit der VM auftreten.
  • So prüfen Sie, ob die VM nach dem Start ausgeführt wird.
  • Prüfen Sie, ob sich die VM im Status Paused oder Stopped befindet.

VMs auflisten, um den Status zu prüfen

Im folgenden Verfahren wird gezeigt, wie Sie VMs auflisten, ihren Status aufrufen und zusätzliche Statusinformationen abrufen.

  1. Alle VMs auflisten und den Status der einzelnen VMs ansehen:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
        get virtualmachines.virtualmachine.gdc.goog -n PROJECT
    

    Ersetzen Sie die Variablen in den Codebeispielen durch Ihre eigenen Werte gemäß der folgenden Tabelle.

    VariableDefinition
    MANAGEMENT_API_SERVER Die kubeconfig-Datei des Management API-Servers.
    PROJECT Das GDC-Projekt, in dem sich die VM befindet.

    Beispielausgabe:

    NAME          STATUS                    AGE
    vm-1          Running                    1d
    vm-2          Stopped                    8d
    vm-3          ErrorConfiguration         1d
    
  2. So rufen Sie zusätzliche Details zum Status einer bestimmten VM auf:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
        get virtualmachines.virtualmachine.gdc.goog VM_NAME -n PROJECT -o \
        jsonpath='{"State:"}{.status.state}{"\n"}{"Reason:"}{.status.reason}{"\n"}{"Message:"}{.status.message}{"\n"}'
    

    Ersetzen Sie Folgendes:

    • Ersetzen Sie MANAGEMENT_API_SERVER durch die kubeconfig-Datei für den Management API-Server, die Sie mit dem Befehl gdcloud auth login abgerufen haben.
    • Ersetzen Sie VM_NAME durch den Namen der neuen VM.
    • PROJECT durch das GDC-Projekt, in dem sich die VM befindet.

    Beispiel für die Ausgabe mit den Werten Reason und Message:

    State: ErrorConfiguration
    Reason: MachineDiskNotFound
    Message: VirtualMachineDisk disk-1 in namespace project-1 does not exist.
    

    Möglicherweise werden auch leere Felder für Reason und Message angezeigt. Das bedeutet, dass das System nichts zu diesen Nutzern zu melden hatte.

    Beispielausgabe mit leeren Reason und Message:

    State: Running
    Reason:
    Message:
    

VM beenden oder neu starten

Während des VM-Lebenszyklus müssen Sie möglicherweise eine VM beenden und neu starten oder löschen, um auf eine Statusänderung zu reagieren oder die VM allgemein zu verwalten. Auf den folgenden Seiten finden Sie Informationen zum Beenden, Zurücksetzen oder Löschen einer VM: