2014-12-09 6 views

Antwort

11

Es ist jetzt in der Google-Compute-Engine möglich. Sie müssen nur die Instanz stoppen. Sie können dann den Instanztyp bearbeiten und neu starten.

6

UPDATE: Diese Antwort ist nicht mehr wahr, da die Möglichkeit zum Ändern des Instanztyps hinzugefügt wurde, nachdem diese Antwort geschrieben wurde. Siehe akzeptierte Antwort.

Obwohl es keine direkten ist „bearbeiten Maschinentyp“ Option auf GCE, die Art und Weise, dies zu erreichen ist:

  1. die alte Instanz löschen (wobei er darauf achtete die Platte nicht gelöscht wird).
  2. eine neue Instanz mit dem gewünschten Typ erstellen und die Diskette aus der alten Instanz mit (statt einen neuen zu erstellen)
+2

Beachten Sie, dass es vor dem Löschen einer Instanz ratsam ist, alle Instanzdetails aufzuschreiben, um sie mit demselben neu erstellen zu können Konfiguration als: - Zone - IP (fest oder ephemeral), beachten Sie, dass ephemeral IP auf neue Instanz ändern wird. - IP-Forwarding - Verfügbarkeit Richtlinien \t - kundenspezifische Metadaten - SSH-Schlüssel - Scopes Berechtigungen Sie Instanzinformationen mit dem Befehl abrufen können: gcloud Serverinstanzen beschreiben INSTANZ --zone ZONE –

+0

Zusätzlich zu dem ephemeren externen IP, die interne IP ändert sich ebenfalls. – jgoldschrafe

+2

Schade, es gab keine Möglichkeiten, nur "Maschinentyp zu bearbeiten". In meinem begrenzten Wissen kann ich nicht sehen, warum es nicht möglich ist, einfach eine Festplatte anzuhängen und ein Image auf einer anderen Maschine auszuführen. Wer weiß, warum das so schwer wäre? Natürlich, vorausgesetzt, die gleiche Architektur CPU usw. –

7

Dies scheint in gcloud möglich:

https://cloud.google.com/sdk/gcloud/reference/compute/instances/set-machine-type

gcloud compute instances set-machine-type 

ermöglicht es Ihnen, den Maschinentyp einer virtuellen Maschine im abgeschlossenen Zustand zu ändern (das heißt, eine virtuelle Maschine Instanz, die gestoppt wurde). wenn beispielsweise Instanz Zum Beispiel ist eine g1-kleine virtuelle Maschine gerade im BEENDET Zustand ausgeführt wird:

$ gcloud compute instances set-machine-type example-instance \ 
    --zone us-central1-b --machine-type n1-standard-4 

die Maschine Typen n1-Standard-4 ändern, so dass beim nächsten Start Beispiel- Zum Beispiel wird es als n1-Standard-4 anstelle von g1-klein bereitgestellt.

+1

das ist der Weg zu gehen ... –

2

Verwenden gcloud compute instances set-machine-type auf eine Instanz zu einer Maschine eines anderen Typs zum Beispiel gestoppt ändern:

$ gcloud compute instances list 
NAME ZONE   MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP  STATUS 
foobaz us-central1-a f1-micro     10.128.0.2 104.197.19.103 RUNNING 
$ gcloud compute instances stop foobaz 
$ gcloud compute instances set-machine-type foobaz --machine-type g1-small 
$ gcloud compute instances start foobaz 
$ gcloud compute instances list 
NAME ZONE   MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP  STATUS 
foobaz us-central1-a g1-small     10.128.0.2 104.197.179.223 RUNNING 

Dies setzt voraus, Sie haben bereits Ihre Standardzone festgelegt, zum Beispiel:

$ gcloud config set compute/zone us-central1-a

Beachten Sie auch, dass sich die EXTERNAL_IP im obigen Beispiel geändert hat. Wenn Sie auf die neu Größe verändert Maschine wollen Adresse die ursprüngliche IP zu halten, dann , bevor Sie es stoppen sollten Sie promote the external IP address from ephemeral to static:

$ ipaddr=$(gcloud --format="value(networkInterfaces[0].accessConfigs[0].natIP)" compute instances describe foobaz) 
$ gcloud compute addresses create foobaz-ip --addresses $ipaddr 
1

Die Google Cloud-Dokumentation besagt, dass Sie diese von der Seite tun, die die VM listet Instanzen scheint es jedoch nicht so zu sein. Ich habe festgestellt, dass Sie auf den Bildnamen in dieser Liste klicken müssen. Daraufhin wird eine Seite angezeigt, auf der Sie die Instanz einschließlich des Typs bearbeiten können.