首页 > 解决方案 > GCE 实例组在 ZONE_RESOURCE_POOL_EXHAUSTED 中停留了几个小时

问题描述

我已Instance Group配置为在所有区域中部署:“europe-west3(3/3 区域)”。实例重新分配为“开启”。自动缩放和自动修复处于“关闭”状态(开发环境)。实例数为1。Google Cloud 状态仪表板显示一切正常。

今天我尝试了滚动替换。早上一次,晚上一次。两次尝试都未能创建一个新的 VM 说:

区域“projects/xxx/zones/europe-west3-c”没有足够的资源来满足请求。尝试不同的区域,或稍后再试。

为什么 GCE 不会Instance Group在有足够资源的地方自动选择合适的区域?它在同一区域重试数小时。我可以在“错误”选项卡中看到日志。

这是我的Instance Group配置中的错误,还是 GCE 中的错误?您是否认为 Autoscaling 会以同样荒谬的方式运行,因此也不可靠?

标签: google-cloud-platformautoscaling

解决方案


如果您因为(ZONE_RESOURCE_POOL_EXHAUSTED 或 ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS )而无法创建实例,则表示该区域当前无法满足您的请求。此错误是由于区域中的 Compute Engine 资源不可用,而不是由于您的 Compute Engine 配额1

以下是一些有助于缓解的提示:

  1. 由于这种情况是暂时的,并且可能会根据波动的需求而频繁更改,因此请稍后重试您的请求。
  2. 如果可能,请尝试在该区域的另一个可用区或另一个区域中创建资源。
  3. 如果可能,请更改您请求的 VM 的形状。获得更小的机器类型比获得更大的机器类型更容易。对您的请求进行的更改(例如减少 GPU 的数量或使用内存或 vCPU 较少的自定义 VM)可能会允许您的请求继续进行。
  4. 使用 Compute Engine 预留在区域内预留资源,以确保您需要的资源在您需要时可用。
  5. 如果您尝试创建抢占式实例,请记住抢占式 VM 是备用容量,因此在需求高峰期可能无法获得。
  6. 如果您在请求新资源时收到 not Found or doesn't exist in zone 错误,则表示该区域不提供您请求的资源或机器类型。请参阅区域和区域以了解每个区域中可用的功能。

建议跨多个专区和区域部署和平衡您的工作负载,以减少中断的可能性,并在您需要快速扩展时访问多个资源池。请查看文档2,其中概述了如何在 Google Cloud Platform 上构建弹性和可扩展的架构。请注意,您目前正在按需使用 Google Cloud,但无法保证容量。我们现在提供了一项称为预订的功能,可以保证 Google Cloud 的容量,有关如何使用此功能的详细信息,请参阅文档3 。


推荐阅读