我的Google Compute Engine实例在启动期间使用v1 API挂起

时间:2013-12-05 01:01:52

标签: google-compute-engine

在串口控制台中,我看到:

<snip>
Booting from Hard Disk...
Booting from 0000:7c00

...实例挂起

使用v1 API专门创建实例会导致挂起:

API_VERSION = 'v1'
gce_service = build('compute', API_VERSION)
...
request = gce_service.instances().insert(
       project=PROJECT_ID, body=instance, zone=DEFAULT_ZONE)

在成功启动v1beta16 API的情况下创建实例:

API_VERSION = 'v1beta16'
gce_service = build('compute', API_VERSION)
...
request = gce_service.instances().insert(
   project=PROJECT_ID, body=instance, zone=DEFAULT_ZONE)

1 个答案:

答案 0 :(得分:1)

您可能会遇到此问题,因为与v1 API相比,v1beta16 API中内核的处理方式发生了变化。在v1beta16中,Compute Engine在启动时注入了Google提供的内核。从v1开始,Compute Engine现在使用来自启动映像或永久磁盘的库存内核。这允许更大的灵活性,但需要一次性手动步骤来更新在v1之前创建的永久磁盘和映像。您可以使用transition guide中提供的详细步骤来帮助您更新磁盘或映像。

如果您只需要快速启动实例,则可以使用已弃用的v1beta16 API来执行此操作。使用gcutil的示例:

$ gcutil addinstance INSTANCE_NAME --disk=DISK_NAME,boot --service_version=v1beta16