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 Befehle der gdcloud-Befehlszeile (Command-Line Interface, CLI) 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:
Melden Sie sich an und generieren Sie die kubeconfig-Datei für den Management API-Server, falls Sie noch keine haben.
Verwenden Sie den Pfad zur kubeconfig-Datei des Management API-Servers, um
MANAGEMENT_API_SERVERin 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 zu bestätigen, dass Sie die Rolle „Project VirtualMachine Admin“ (project-vm-admin) im Namespace des Projekts haben, in dem sich die VM befindet, oder Ihren Projekt-IAM-Administrator zu bitten, Ihnen die Rolle zuzuweisen.
Für VM-Vorgänge über die GDC-Konsole oder die gdcloud CLI bitten Sie Ihren Projekt-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
Klicken Sie im Navigationsmenü auf Virtuelle Maschinen > Instanzen.
Klicken Sie in der Liste der VMs auf das Kästchen für die laufende VM, die Sie beenden möchten.
Klicken Sie auf Beenden.
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_NAMEdurch den Namen der VM. - Ersetzen Sie
PROJECTdurch den Namen des GDC-Projekts, in dem sich die VM befindet.
kubectl
Führen Sie dazu diesen Befehl aus:
kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG \ -n PROJECT \ edit virtualmachines.virtualmachine.gdc.goog VM_NAMESuchen Sie in der
specder VM nach dem FeldrunningStateund ändern Sie den Wert des Felds inStopped. WennrunningStatenicht inspecenthalten ist, fügen SierunningStatezuspechinzu und legen Sie den Wert aufStoppedfest.spec: runningState: StoppedPrüfen Sie den Status der VM:
kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG \ -n PROJECT \ get virtualmachines.virtualmachine.gdc.goog VM_NAMEVerwenden Sie diese Definitionen für die vorherigen Variablen.
Variable Definition 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
Klicken Sie im Navigationsmenü auf Virtuelle Maschinen > Instanzen.
Klicken Sie in der Liste der VMs auf das Kästchen für die beendete VM, die Sie starten möchten.
Klicken Sie auf Start.
Klicken Sie im Bestätigungsdialogfeld auf Starten.
gdcloud
So starten Sie eine VM:
gdcloud compute instances start VM_NAME --project PROJECT
- Ersetzen Sie
VM_NAMEdurch den Namen der VM. - Ersetzen Sie
PROJECTdurch den Namen des GDC-Projekts, in dem sich die VM befindet.
kubectl
Führen Sie dazu diesen Befehl aus:
kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG \ -n PROJECT \ edit virtualmachines.virtualmachine.gdc.goog VM_NAMESuchen Sie in der
specder VM nach dem FeldrunningStateund ändern Sie den Wert des Felds inRunning.spec: runningState: RunningVM-Status prüfen:
kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG \ -n PROJECT \ get virtualmachines.virtualmachine.gdc.goog VM_NAMEVerwenden Sie diese Definitionen für die Variablen im Beispielcode.
Variable Definition MANAGEMENT_API_SERVER_KUBECONFIGDie kubeconfig-Datei des Management-API-Servers. MANAGEMENT_API_SERVER_NAMEDer Name des Management API-Servers. 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 im aktiven Status mit der Console oder kubectl neu.
Console
Klicken Sie im Navigationsmenü auf Virtuelle Maschinen > Instanzen.
Klicken Sie in der Liste der VMs auf das Kästchen für die laufende VM, die Sie neu starten möchten.
Klicken Sie auf Zurücksetzen.
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_NAMEdurch den Namen der VM. - Ersetzen Sie
PROJECTdurch den Namen des GDC-Projekts, in dem sich die VM befindet.
kubectl
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}'`Stellen Sie eine API-Anfrage, um die VM mit dem Befehl
wgetneu 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/restartVM-Status prüfen:
kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG \ -n PROJECT \ get virtualmachines.virtualmachine.gdc.goog VM_NAMEVerwenden Sie diese Definitionen für die Variablen im Beispielcode.
Variable Definition MANAGEMENT_API_SERVER_KUBECONFIGDie kubeconfig-Datei des Management-API-Servers. MANAGEMENT_API_SERVER_NAMEDer Name des Management API-Servers. VM_NAMEDer Name der VM. PROJECTDer Projektname der VM.