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:
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_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
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_NAME
durch den Namen der VM. - Ersetzen Sie
PROJECT
durch 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 \ edit virtualmachines.virtualmachine.gdc.goog VM_NAME \ -n PROJECT
Suchen Sie in der
spec
der VM nach dem FeldrunningState
und ändern Sie den Wert des Felds inStopped
. WennrunningState
nicht inspec
enthalten ist, fügen SierunningState
zuspec
hinzu und legen Sie den Wert aufStopped
fest.spec: runningState: Stopped
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.
Variable Definition MANAGEMENT_API_SERVER_KUBECONFIG
Die kubeconfig-Datei des Management API-Servers. VM_NAME
Der Name der VM. PROJECT
Der 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_NAME
durch den Namen der VM. - Ersetzen Sie
PROJECT
durch 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 \ edit virtualmachines.virtualmachine.gdc.goog VM_NAME \ -n PROJECT
Suchen Sie in der
spec
der VM nach dem FeldrunningState
und ändern Sie den Wert des Felds inRunning
.spec: runningState: Running
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.
Variable Definition MANAGEMENT_API_SERVER_KUBECONFIG
Die kubeconfig-Datei des Management API-Servers. MANAGEMENT_API_SERVER_NAME
Der Name des Management API-Servers. NAMESPACE
Der VM-Namespace. VM_NAME
Der Name der VM. PROJECT
Der 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
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_NAME
durch den Namen der VM. - Ersetzen Sie
PROJECT
durch 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
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
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.
Variable Definition MANAGEMENT_API_SERVER_KUBECONFIG
Die kubeconfig-Datei des Management API-Servers. MANAGEMENT_API_SERVER_NAME
Der Name des Management API-Servers. NAMESPACE
Der VM-Namespace. VM_NAME
Der Name der VM. PROJECT
Der Projektname der VM.