Lebenszyklus von VM-Instanzen verwalten

In diesem Dokument wird beschrieben, wie Sie den Systemstatus einer VM-Instanz während ihres Lebenszyklus in Google Distributed Cloud (GDC) mit Air Gap prüfen.

Eine VM-Instanz kann im Verlauf ihres Lebenszyklus viele Status durchlaufen. Wenn Sie eine VM erstellen, stellt Distributed Cloud zum Starten der VM Ressourcen bereit. 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.

Dieses Dokument richtet sich an Entwickler in Plattformadministrator- oder Anwendungsoperatorgruppen, die den Systemstatus von VM-Instanzen in einer Distributed Cloud-Umgebung prüfen. Weitere Informationen finden Sie unter Dokumentation zu Zielgruppen für GDC mit Air Gap.

VM-Statusdefinitionen

Bundesland Definition
Pending Die VM wird vom System akzeptiert und wartet auf die Zuweisung.
Provisioning Mit der VM verknüpfte Ressourcen wie 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 pausiert 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 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: Das VM-Laufwerk ist falsch konfiguriert.
InterfaceCreationFailed: Die Netzwerkschnittstelle konnte nicht erstellt werden.
CrashLoopBackOff Die VM befindet sich in einer Absturzschleife und wartet auf einen Wiederholungsversuch.
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 sie ausgeführt wird.
ErrorUnschedulable Beim Planen der VM ist ein Fehler aufgetreten, z. B. aufgrund von Ressourcenanfragen oder Planungseinschränkungen, die nicht erfüllt oder unterstützt werden können.
DiskError Bei der VM ist ein Fehler mit einem oder mehreren der angehängten Laufwerke aufgetreten.
WaitingForDisk Die VM wartet darauf, dass eine oder mehrere der angehängten VirtualMachineDisk bereit sind.
CrashLoopBackoff Die VM stürzt aus irgendeinem Grund immer wieder ab.

Hinweis

Wenn Sie gdcloud-Befehle der Befehlszeile (CLI) verwenden möchten, müssen Sie die gdcloud-Befehlszeile heruntergeladen, installiert und konfiguriert haben. Alle Befehle für Distributed Cloud verwenden die gdcloud- oder kubectl-CLI und erfordern eine Betriebssystemumgebung.

Pfad der kubeconfig-Datei abrufen

Wenn Sie Befehle auf dem Management API-Server ausführen möchten, 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. Ersetzen Sie MANAGEMENT_API_SERVER in dieser Anleitung durch den Pfad zur kubeconfig-Datei des Management API-Servers.

IAM-Rollen anfordern

Bitten Sie Ihren IAM-Projektadministrator, Ihnen die folgenden Rollen für Ihr Projekt zuzuweisen:

  • Virtual Machine Project Admin (project-vm-admin): VMs im Projekt-Namespace erstellen, ändern, auflisten und löschen.

  • Project Viewer(project-viewer): Kann alle Ressourcen in den Projekt-Namespaces aufrufen.

Alle VM-Rollen müssen an den Namespace des Projekts gebunden sein, in dem sich die VM befindet. Folgen Sie der Anleitung, um Ihren Zugriff zu bestätigen.

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.
  • Prüfen, ob die VM nach dem Start ausgeführt wird.
  • Prüfen Sie, ob die VM den Status Paused oder Stopped hat.

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. Listen Sie alle VMs auf und rufen Sie den Status der einzelnen VMs auf:

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

    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. Rufen Sie zusätzliche Details zum Status einer bestimmten VM ab:

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

    Ersetzen Sie Folgendes:

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

    Beispielausgabe mit den Werten Reason und Message:

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

    Möglicherweise sind auch die Felder für Reason und Message leer. Das bedeutet, dass es für das System nichts zu melden gab.

    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 eine VM löschen, um auf eine Statusänderung zu reagieren oder die VM allgemein zu verwalten. Auf diesen Seiten finden Sie Informationen zum Beenden, Zurücksetzen oder Löschen einer VM: