如何在Google Compute Engine上更改机器类型?

时间:2014-12-09 07:08:16

标签: google-compute-engine google-cloud-platform

在Google Compute Engine上,有没有办法在创建机器后更改机器类型(例如,添加cpu内核)

6 个答案:

答案 0 :(得分:13)

现在可以在谷歌计算引擎中使用。 你只需要停止实例。然后,您可以编辑实例类型并重新启动。

答案 1 :(得分:9)

这似乎可以在gcloud中实现:

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

gcloud compute instances set-machine-type 

允许您更改处于TERMINATED状态的虚拟机的计算机类型(即已停止的虚拟机实例)。 例如,如果exam​​ple-instance是当前处于TERMINATED状态的g1-small虚拟机,则运行:

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

会将机器类型更改为n1-standard-4,这样当您下次启动example-instance时,它将被配置为n1-standard-4而不是g1-small。

答案 2 :(得分:6)

更新:此答案不再适用,因为在编写此答案后添加了更改实例类型的功能。见接受的答案。

虽然GCE上没有直接的“编辑机器类型”选项,但实现这一点的方法是:

  1. 删除旧实例(同时确保磁盘未被删除)。
  2. 使用所需类型创建新实例并使用旧实例中的磁盘(而不是创建新实例)

答案 3 :(得分:2)

使用gcloud compute instances set-machine-type已停止的实例更改为其他类型的计算机,例如:

$ 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

这假设您已经设置了默认区域,例如:

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

另请注意,上面的示例中EXTERNAL_IP已更改。如果您希望新调整大小的机器保留原始IP地址,那么在停止之前,您应该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

答案 4 :(得分:2)

Google Cloud文档指出您可以从列出VM实例的页面执行此操作,但现在看来并非如此。我发现你必须点击该列表中的图像名称。然后会显示一个页面,您可以在其中编辑包含类型的实例。

答案 5 :(得分:0)

更改虚拟机实例的计算机类型。您首先需要停止VM实例。之后,单击编辑,然后更改机器类型,然后保存。