Lebenszyklus von VM-Instanzen verwalten

In diesem Dokument wird beschrieben, wie Sie den Systemstatus einer VM-Instanz (virtuelle Maschine) während ihres gesamten 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 Startstatus 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

Status Definition
Pending Die VM wurde 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 beendet.
Stopped Die VM wurde beendet und wird voraussichtlich nicht gestartet.
Paused Die VM wurde angehalten und befindet sich in einem eingefrorenen Status, 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 gelöscht.
MachineDiskMisconfig - Das VM-Laufwerk ist falsch konfiguriert.
InterfaceCreationFailed - Die Erstellung der Netzwerkschnittstelle ist fehlgeschlagen.
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 Planungsbeschrä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 eines oder mehrere der angehängten VirtualMachineDisk bereit sind.
CrashLoopBackoff Die VM ist aus irgendeinem Grund wiederholt abgestürzt.

Hinweis

Wenn Sie gdcloud Befehlszeilenschnittstellenbefehle (CLI) verwenden möchten, müssen Sie die gdcloud CLI 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 für den 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 in dieser Anleitung MANAGEMENT_API_SERVER durch den Pfad zur kubeconfig-Datei des Management API-Servers.

IAM-Rollen anfordern

Wenden Sie sich an Ihren Projekt-IAM-Administrator, um die folgenden Rollen für Ihr Projekt anzufordern:

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

  • Projektbetrachter(project-viewer): Alle Ressourcen in den Projekt-Namespaces ansehen.

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 prüfen.

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 es Probleme mit der VM gibt.
  • Um zu bestätigen, dass die VM nach dem Start ausgeführt wird.
  • Um zu prüfen, ob sich die VM im Status Paused oder Stopped befindet.

VMs auflisten, um den Status zu prüfen

Im folgenden Verfahren wird beschrieben, 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 gemäß der folgenden Tabelle durch Ihre eigenen Werte.

    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 abgerufen 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 werden auch leere Felder für Reason und Message angezeigt. Das bedeutet, dass das System nichts dazu melden konnte.

    Beispielausgabe mit leeren Feldern für Reason und Message:

    State: Running
    Reason:
    Message:
    

VM beenden oder neu starten

Während des Lebenszyklus der VM 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 diesen Seiten erfahren Sie, wie Sie eine VM beenden, zurücksetzen oder löschen: