VM starten und anhalten

Sie können VMs beenden, starten und neu starten, um den Lebenszyklus Ihrer Anwendungen zu unterstützen. Sie können beispielsweise die Anzahl der zugewiesenen virtuellen zentralen Verarbeitungseinheiten (vCPUs) oder die Größe des Arbeitsspeichers ändern, der einer VM zugewiesen ist. Sie müssen die VM beenden, bevor Sie die Konfiguration bearbeiten können. Danach müssen Sie den Leistungsstatus aktivieren, um die Änderungen zu übernehmen. Auf dieser Seite finden Sie eine Anleitung zum Beenden, Starten und Neustarten Ihrer VMs in solchen Prozessen.

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.

Wenn Sie die Startzeit Ihrer VM minimieren möchten, folgen Sie der Anleitung unter VM-Startzeit minimieren , bevor Sie Ihre VM starten.

Berechtigungen und Zugriff anfordern

Zum Ausführen der auf dieser Seite aufgeführten Aufgaben benötigen Sie die Rolle „ProjectVirtualMachine Admin“. Folgen Sie der Anleitung, um entweder die Rolle „Project VirtualMachine Admin“ (project-vm-admin) im Namespace des Projekts, in dem sich die VM befindet, zu bestätigen oder von Ihrem Projekt-IAM-Administrator zuweisen zu lassen.

Für VM-Vorgänge mit der GDC-Konsole oder der gdcloud-CLI bitten Sie Ihren Project IAM-Administrator, Ihnen sowohl die Rolle „Project VirtualMachine Admin“ als auch die Rolle „Project Viewer“ (project-viewer) zuzuweisen.

VM beenden

Wenn Sie eine VM beenden, gibt der Hypervisor alle Ressourcen frei, die der Instanz zugewiesen sind. Die VM wird heruntergefahren.

Sie können eine VM, die sich im Status „Wird ausgeführt“ befindet, über die GDC-Konsole oder kubectl beenden.

Console

  1. Klicken Sie im Navigationsmenü auf Virtuelle Maschinen > Instanzen.

  2. Klicken Sie in der Liste der VMs auf das Kästchen für die laufende VM, die Sie beenden möchten.

  3. Klicken Sie auf Beenden.

  4. Klicken Sie im Bestätigungsdialog auf Beenden.

gdcloud

So halten Sie eine VM an:

gdcloud compute instances stop VM_NAME --project PROJECT
  • Ersetzen Sie VM_NAME durch den Namen der VM.
  • Ersetzen Sie PROJECT durch den Namen des GDC-Projekts, in dem sich die VM befindet.

kubectl

  1. Führen Sie dazu diesen Befehl aus:

    kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG \
       edit virtualmachines.virtualmachine.gdc.goog VM_NAME \
       -n PROJECT
    
  2. Suchen Sie in der spec der VM nach dem Feld runningState und ändern Sie den Wert des Felds in Stopped. Wenn runningState nicht in spec enthalten ist, fügen Sie runningState zu spec hinzu und legen Sie den Wert auf Stopped fest.

    spec:
       runningState: Stopped
    
  3. Prüfen Sie den Status der VM:

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

    Verwenden Sie diese Definitionen für die vorherigen Variablen.

    VariableDefinition
    MANAGEMENT_API_SERVER_KUBECONFIGDie kubeconfig-Datei des Management API-Servers.
    VM_NAMEDer Name der VM.
    PROJECTDer Projektname der VM.

VM starten

Sie können eine VM aus dem beendeten Zustand heraus mit der Console oder kubectl starten.

Console

  1. Klicken Sie im Navigationsmenü auf Virtuelle Maschinen > Instanzen.

  2. Klicken Sie in der Liste der VMs auf das Kästchen für die beendete VM, die Sie starten möchten.

  3. Klicken Sie auf Start.

  4. Klicken Sie im Bestätigungsdialogfeld auf Starten.

gdcloud

So starten Sie eine VM:

gdcloud compute instances start VM_NAME --project PROJECT
  • Ersetzen Sie VM_NAME durch den Namen der VM.
  • Ersetzen Sie PROJECT durch den Namen des GDC-Projekts, in dem sich die VM befindet.

kubectl

  1. Führen Sie dazu diesen Befehl aus:

    kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG \ 
       edit virtualmachines.virtualmachine.gdc.goog VM_NAME \ 
       -n PROJECT
    
  2. Suchen Sie in der spec der VM nach dem Feld runningState und ändern Sie den Wert des Felds in Running.

    spec:
       runningState: Running
    
  3. VM-Status prüfen:

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

    Verwenden Sie diese Definitionen für die Variablen im Beispielcode.

    VariableDefinition
    MANAGEMENT_API_SERVER_KUBECONFIGDie kubeconfig-Datei des Management API-Servers.
    MANAGEMENT_API_SERVER_NAMEDer Name des Management API-Servers.
    NAMESPACEDer VM-Namespace.
    VM_NAMEDer Name der VM.
    PROJECTDer Projektname der VM.

VM neu starten

Wenn Sie eine VM neu starten, wird der Computer auf seinen Ausgangszustand zurückgesetzt und der Speicherinhalt des Computers wird gelöscht.

Starten Sie eine VM, die sich im Status „Wird ausgeführt“ befindet, mit der Console oder kubectl neu.

Console

  1. Klicken Sie im Navigationsmenü auf Virtuelle Maschinen > Instanzen.

  2. Klicken Sie in der Liste der VMs auf das Kästchen für die laufende VM, die Sie neu starten möchten.

  3. Klicken Sie auf Zurücksetzen.

  4. Klicken Sie im Bestätigungsdialog auf Zurücksetzen.

gdcloud

So setzen Sie eine VM zurück:

gdcloud compute instances reset VM_NAME --project PROJECT
  • Ersetzen Sie VM_NAME durch den Namen der VM.
  • Ersetzen Sie PROJECT durch den Namen des GDC-Projekts, in dem sich die VM befindet.

kubectl

  1. Rufen Sie das Clientzertifikat und die Schlüsseldaten sowie den Management API-Server ab. Verwenden Sie diese Werte in den folgenden Schritten:

    kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG config view --raw -o \
       jsonpath='{.users[?(@.name =="MANAGEMENT_API_SERVER_NAME-admin")].user.client-certificate-data}' | \
       base64 -d > cert
    kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG config view --raw -o \
       jsonpath='{.users[?(@.name == "MANAGEMENT_API_SERVER_NAME-admin")].user.client-key-data}' | \
       base64 -d > key
    export APISERVER=`kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG \
       config view --raw -o \
       jsonpath='{.clusters[?(@.name == "MANAGEMENT_API_SERVER_NAME")].cluster.server}'`
    
  2. Stellen Sie eine API-Anfrage, um die VM mit dem Befehl wget neu zu starten, und geben Sie das Zertifikat und den Schlüssel aus dem vorherigen Schritt an:

    wget --method=PUT -O- --no-check-certificate --certificate cert --private-key key --content-on-error=on $APISERVER/apis/virtualmachineoperations.gdc.goog/v1/namespaces/PROJECT/virtualmachines/VM_NAME/restart
    
  3. VM-Status prüfen:

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

    Verwenden Sie diese Definitionen für die Variablen im Beispielcode.

    VariableDefinition
    MANAGEMENT_API_SERVER_KUBECONFIGDie kubeconfig-Datei des Management API-Servers.
    MANAGEMENT_API_SERVER_NAMEDer Name des Management API-Servers.
    NAMESPACEDer VM-Namespace.
    VM_NAMEDer Name der VM.
    PROJECTDer Projektname der VM.