In diesem Dokument wird erläutert, wie Sie eine VM-Instanz (virtuelle Maschine) in Google Distributed Cloud (GDC) mit Air Gap starten, beenden und neu starten.
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.
Dieses Dokument richtet sich an Entwickler in Plattformadministrator- oder Anwendungsoperatorgruppen, die VM-Instanzen in einer Distributed Cloud-Umgebung starten, beenden und neu starten müssen. Weitere Informationen finden Sie unter Dokumentation zu Zielgruppen für GDC mit Air Gap.
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:
Melden Sie sich an und generieren Sie die kubeconfig-Datei für den Management API-Server, falls Sie noch keine haben.
Ersetzen Sie in dieser Anleitung
MANAGEMENT_API_SERVERdurch den Pfad zur kubeconfig-Datei des Management API-Servers.
Wenn Sie die Startzeit Ihrer VM minimieren möchten, folgen Sie der Anleitung unter VM-Startzeit minimieren , bevor Sie Ihre VM starten.
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 überprüfen.
VM beenden
Wenn Sie eine 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
Klicken Sie im Navigationsmenü auf Virtual Machines > Instances.
Wählen Sie in der Liste der VMs das Kästchen für die laufende VM aus, die Sie beenden möchten.
Klicken Sie auf Beenden.
Klicken Sie im Bestätigungsdialogfeld auf Beenden.
gdcloud
So beenden Sie eine VM:
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 im
specder VM nach dem FeldrunningStateund ändern Sie den Wert des Felds inStopped. WennrunningStatenicht imspecenthalten ist, fügen SierunningStatezumspechinzu 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
Starten Sie eine VM aus dem Status „Beendet“ mit der Console oder kubectl.
Console
Klicken Sie im Navigationsmenü auf Virtual Machines > Instances.
Wählen Sie in der Liste der VMs das Kästchen für die beendete VM aus, die Sie starten möchten.
Klicken Sie auf Start.
Klicken Sie im Bestätigungsdialogfeld auf Start.
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 im
specder VM nach dem FeldrunningStateund ändern Sie den Wert des Felds inRunning.spec: runningState: RunningPrü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 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, die ausgeführt wird, mit der Console oder kubectl neu.
Console
Klicken Sie im Navigationsmenü auf Virtual Machines > Instances.
Wählen Sie in der Liste der VMs das Kästchen für die laufende VM aus, die Sie neu starten möchten.
Klicken Sie auf Zurücksetzen.
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_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}'`Senden 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/restartPrü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 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.