The zone does not have sufficient resources to complete the request. 资源尚未就绪。

110

我在尝试启动我的实例(通过web浏览器), 但是出现了错误:

  

"区域 'projects/XXXXX/zones/europe-west4-b' 没有足够的资源可用来满足请求。请尝试其他区域或稍后再试。"

一开始我以为可能是配额问题,但检查后显示都正常。实际上,我列出了可用区域,europe-west4-b可用,但我还是尝试了移动区域。然后我尝试了"gcloud compute instances move XXXX --zone europe-west4-b --destination-zone europe-west4-c", 但仍然失败,并弹出以下错误信息:

  

"ERROR: (gcloud.compute.instances.move) 实例处于终止状态,无法移动"

好吧,被终止了... 然后我尝试通过"gcloud compute instances reset XXX"重新启动它,结果出现了以下错误信息:

  

ERROR: (gcloud.compute.instances.reset) 无法获取资源:      - 资源 'projects/XXXXX/zones/europe-west4-b/instances/XXX' 尚未准备就绪

我搜索了一下这个错误,有些人通过删除磁盘来解决这个问题。虽然我不想清空内存,但我该怎么解决这个问题呢?

顺便说一下,我只有一个实例,并连接了一个持久磁盘。


5
我在6小时后尝试了一下,然后它运行良好。= = - ShadeBai
2
这是解决此错误的最佳方法 https://dev59.com/2FcO5IYBdhLWcg3w3VLU#45126763 - honi raf
仍然是4年前的问题。顺便说一句,这是一个非常合法的问题。希望Google能提供解决方案。 - W.M.
1
@W.M. 我猜你今天也遇到了问题?我想到的最简单的方法是点击实例,点击“创建相似”,然后选择不同的位置。现在我把它们备份起来,以防再次发生这种情况。 - Andy Danger Gagne
是的,那就是“解决方案”。将其创建在另一个区域。 - W.M.
6个回答

53

我也遇到了同样的错误。我等了24小时并尝试了几次,但仍然没有成功。

对我来说,这不是暂时性的问题。区域 'projects/XXXX/zones/europe-west2-c' 没有足够的资源来执行请求。请尝试选择其他区域,或稍后再试。我不得不创建一个全新的实例才能解决它。


10
我点赞是因为你给出了解决我的问题的方案,但这种 bug 真的应该由 GCloud 的某个人来修复。我对 Google 和提供服务的人充满爱意:我非常感激。但我真的不想重新做这些工作小时数。 - Nathan majicvr.com

38

我遇到了同样的问题超过24小时。

我试图将我的虚拟机移动到另一个区域,但由于它处于已终止状态并且我在该地区没有足够的资源来重新启动它,所以我无法移动它。

好吧,根据我的理解,你连接到虚拟机上的持久磁盘是另一回事,你可以在不启动虚拟机的情况下复制它。

因此,我通过以下方式解决了这个问题:

  1. 进入我的Google Cloud平台 >>> 计算引擎
  2. 转到快照 >>> 创建快照 >>> 选择您的计算引擎实例
  3. 完成快照后,我点击了我的快照。
  4. 最终进入“快照详细信息”。 在那里,在顶部,只需单击创建实例。 在这里,您基本上正在创建一个具有磁盘副本的实例。
  5. 选择您的新区域,不要忘记附加GPU,所有先前的设置,创建新名称。
  6. 单击创建,就这样,您的映像现在应该在新区域中运行

1
据我所了解,根据您创建快照的位置(哪个地区),在重新部署时可能会产生网络费用。然后,关于将快照存储在附加到您的VM的持久磁盘上,从我所看到的情况来看,根据此定价列表,我认为您将被收取每月每GB存储的费用:https://cloud.google.com/persistent-disk/ - Yev Guyduy
1
选择快照存储位置对于最小化网络成本至关重要。如果您将快照存储在与源磁盘相同的区域中,则从同一区域访问该快照时不会产生网络费用。如果您从不同的区域访问快照,则会产生网络费用。截至08/16 快照存储(GB / MONTH)= $ 0.026 每个多区域中的多区域快照存储 = $ 0.026 - Yev Guyduy
我今天遇到了同样的问题,这个答案救了我。谢谢! - Jack Tsai
注意:当我这样做时,我失去了对我的gcloud存储桶的权限。 - Nathan majicvr.com
我之前遇到了一个非常棘手的问题,因为我们使用的是区域性 IP,在移动应用中也需要使用同样的 IP 地址。但是,我们需要在该地区创建一个新的实例,但是 Google 不允许这样做,所以这个解决方案行不通。如果我想要从快照创建一个新的实例到那个地区,也不行。 - Abdullah Tahan
显示剩余2条评论

11

正如其他人所指出的那样,这是由于GCP区域过载引起的,通常是暂时的。尽管如此,在该区域资源不足的情况下几乎肯定无法解决错误,但您可以通过提前预留区域资源来防止将来发生此类错误 - 从而有效地保证在您需要时可用的资源。

当然,因为您要求GCP保留计算资源供将来使用,所以您将被收取实例预订的费用,就像它是完全运行的实例一样(但是在实际运行实例时没有额外费用)。 它们还有资格获得与任何VM实例相同的持续使用承诺使用折扣。

您可以在所预留的内容中进行很多配置,但是预留单个实例的最小gcloud命令可能看起来像这样:

gcloud compute reservations create my-reservation --machine-type=n1-standard-1 --zone=us-central1-a --vm-count=1

并在完成时将其删除:

gcloud compute reservations delete my-reservation

您也可以通过控制台完成此操作,在“计算引擎 > 承诺使用折扣 > 预订”选项卡中进行。


3
在我准备将K80更换为新的P100实例时,周末发生了这件事。
我的设置如下: - 将“GPUS_ALL_REGIONS”配额设置为1。 - 在欧洲西部1区(区域:欧洲西部1-b)上有单个GPU(K80)实例。
产生错误的步骤: 1. 删除K80实例。 2. 删除后,我没有任何运行中的实例。 3. 在同一区域中创建新实例的每次尝试都会产生错误信息。
在其他具有相同区域标识符(从欧洲西部1-b)的区域创建的任何实例也会产生此错误。
如何解决此问题: 在不同的区域和不同的区域标识符('a'、'c'、'd'等)上创建GPU实例。就是这样。

1

使用GUI启动实例对我有效。看起来是gcloud中的一个错误。


0
为了得到更加最新的答案,今天我遇到了与区域 us-central1-a 相关的同样问题。我收到了错误信息:“该区域 'projects//zones/us-central1-a' 没有足够的资源来满足请求。(资源类型:计算)”。幸运的是,只需等待5分钟后再次尝试,就可以克服这个错误。

我遇到了与同一区域相同的问题,我的解决方案是将CPU数量从2个降级为1个。我尝试了整整一天使用2个CPU,但只有当我将其降低到1个CPU时,它才能正常启动。我启用了GPU。 - rajan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接