【发布时间】:2020-03-28 03:44:42
【问题描述】:
当我尝试从 linux VM(在 GCP 中)通过 gcloud compute instances simulate-maintenance-event 命令执行 Instance SimulateMaintenanceEvent 时,出现以下错误之一:
ERROR: (gcloud.compute.instances.simulate-maintenance-event) Maintenance cannot be simulated on this instance due to temporary concurrency limitations. Please try again in a few minutes.
或
ERROR: (gcloud.compute.instances.simulate-maintenance-event) Internal error. Please try again or contact Google Support. (Code: '-238115167244891842')
有趣的是,与us-east1 不同,在us-central1 区域工作时错误发生的频率要高得多。不使用服务帐户。
根据页面https://cloud.google.com/compute/docs/api-rate-limits 的 SimulateMaintenanceEvent 请求有:
- 每个项目的速率:2 个请求/秒
- 每位用户的速率:2 个请求/秒
- 配额桶每 100 秒重新填充一次
我在大约 13 分钟内调用一次 API,如果失败则在 5 分钟内重试,但它会不断失败几次,而且很少成功。
任何想法为什么会发生这种情况?有什么解决办法吗? 提前致谢。
【问题讨论】:
-
我有一个大胆的猜测......我们在这里谈论的维护是对 GCP 框架本身的维护,如果 Google 必须更新“是”计算实例的代码,它可以对您的计算实例透明地执行此操作。我们可以假设这种情况“相对”很少发生。如果您在测试期间(可能是几天),Google 碰巧正在执行更新......它可能会“限制”您的测试以确保最大资源可用于执行 NEEDED 迁移?模拟可能是“尽力而为”的可用性。
-
@Kolban 所以你假设当我尝试模拟迁移时,它与谷歌进行一些更新并且必须为此目的自行执行迁移的情况相吻合。我的理解正确吗?
-
是的,先生……但这是一个疯狂的猜测,请不要将其作为最终决定。这只是一个假设,试图解释你所看到的。如果可以,请继续尝试,看看它是否真的是“短暂的东西”。
-
明白..谢谢。会尽力让您了解最新情况。
标签: api google-cloud-platform google-compute-engine