VM starten und anhalten

Sie können VMs beenden, starten und neu starten, um den Lebenszyklus Ihrer Anwendungen zu unterstützen. Beispielsweise können Sie 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. Danach müssen Sie den Leistungsstatus aktivieren, um die Änderungen zu übernehmen. Auf dieser Seite finden Sie eine Anleitung zum Beenden, Starten und Neustarten von VMs in solchen Prozessen.

Hinweis

Wenn Sie gdcloud Befehlszeilenbefehle verwenden möchten, müssen Sie die gdcloud Befehlszeile heruntergeladen, installiert, und konfiguriert haben. Alle Befehle für die GDC-Appliance ohne Internetverbindung verwenden die gdcloud- oder kubectl-Befehlszeile 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. Suchen Sie den Namen des Management API-Servers oder fragen Sie Ihren Plattformadministrator nach dem Servernamen.

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

  3. Ersetzen Sie in dieser Anleitung MANAGEMENT_API_SERVER{"</var>"}} durch den Pfad.

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

Berechtigungen und Zugriff anfordern

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

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

VM beenden

Wenn Sie eine virtuelle Maschine (VM) beenden, hebt der Hypervisor die Zuweisung aller Ressourcen auf, die mit der Instanz verknüpft sind. Die VM wird heruntergefahren.

Beenden Sie eine VM, die ausgeführt wird, mit der GDC Console oder kubectl.

Console

  1. Klicken Sie im Navigationsmenü auf Virtual Machines > Instances.

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

  3. Klicken Sie auf Beenden.

  4. Klicken Sie im Bestätigungsdialogfeld auf Beenden.

gdcloud

So beenden Sie eine VM:

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 \
       edit virtualmachines.virtualmachine.gdc.goog VM_NAME \
       -n PROJECT
    
  2. Suchen Sie im spec der VM nach dem Feld runningState und ändern Sie den Wert des Felds in Stopped. Wenn runningState nicht im spec enthalten ist, fügen Sie runningState zum 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 \
       get virtualmachines.virtualmachine.gdc.goog VM_NAME \
       -n PROJECT
    

    Verwenden Sie diese Definitionen für die vorherigen Variablen.

    VariableDefinition
    MANAGEMENT_API_SERVERDer kubeconfig-Pfad.
    VM_NAMEDer Name der VM.
    PROJECTDer Projektname der VM.

VM starten

Starten Sie eine VM aus dem Status „Beendet“ mit der Console oder kubectl.

Console

  1. Klicken Sie im Navigationsmenü auf Virtual Machines > Instances.

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

  3. Klicken Sie auf Start.

  4. Klicken Sie im Bestätigungsdialogfeld auf Start.

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 \
       edit virtualmachines.virtualmachine.gdc.goog VM_NAME \
       -n PROJECT
    
  2. Suchen Sie im spec der VM nach dem Feld runningState und ändern Sie den Wert des Felds in Running.

    spec:
       runningState: Running
    
  3. Prüfen Sie den VM-Status:

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

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

    VariableDefinition
    MANAGEMENT_API_SERVERDer kubeconfig-Pfad.
    NAMESPACEDer VM-Namespace.
    VM_NAMEDer Name der VM.
    PROJECTDer Projektname der VM.

VM neu starten

Wenn Sie eine VM neu starten, wird die Maschine auf ihren Ausgangszustand zurückgesetzt und der Speicherinhalt der Maschine wird gelöscht.

Starten Sie eine VM, die ausgeführt wird, mit der Console oder kubectl neu.

Console

  1. Klicken Sie im Navigationsmenü auf Virtual Machines > Instances.

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

  3. Klicken Sie auf Zurücksetzen.

  4. Klicken Sie im Bestätigungsdialogfeld 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 config view --raw -o \
       jsonpath='{.users[?(@.name =="CLUSTER_NAME-admin")].user.client-certificate-data}' | \
       base64 -d > cert
    kubectl --kubeconfig MANAGEMENT_API_SERVER config view --raw -o \
       jsonpath='{.users[?(@.name == "CLUSTER_NAME-admin")].user.client-key-data}' | \
       base64 -d > key
    export APISERVER=`kubectl --kubeconfig MANAGEMENT_API_SERVER \
       config view --raw -o \
       jsonpath='{.clusters[?(@.name == "CLUSTER_NAME")].cluster.server}'`
    
  2. Senden 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. Prüfen Sie den VM-Status:

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

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

    VariableDefinition
    MANAGEMENT_API_SERVERDer kubeconfig-Pfad.
    VM_NAMEDer Name der VM.
    PROJECTDer Projektname der VM.