【问题标题】:CloudRun is going over max instance count (of 1)CloudRun 正在超过最大实例数(共 1 个)
【发布时间】:2021-12-13 02:30:12
【问题描述】:

我有一个云运行服务(不接收流量),我将最大实例和最小实例设置为 1,以便它始终运行。

部署新实例时,实例计数跳到 3。这是一个问题(如果两个实例同时发出这些请求,我会在实例启动时发出一些请求,达到 429)。

为什么 CloudRun 实例数超过我的最大值?

我可以确认我的设置是正确的,并且查看日志有两个新实例正在启动。

PS:Cloudrun 确实有这个消息,这让我觉得我正在尝试做的事情是不可能的。我只是认为这将是因为停机时间而不是额外的实例。

使用最多 3 个或更少实例的修订可能会遇到意外停机。

【问题讨论】:

    标签: google-cloud-platform google-cloud-run


    【解决方案1】:

    您的场景似乎符合 documentation 中描述的场景,其中 Cloud Run 服务的新部署可能会临时创建额外的实例:

    当您部署新版本时,Cloud Run 会逐渐将流量从旧版本迁移到新版本。由于每个修订版都设置了最大实例限制,因此您可能会在部署后的一段时间内暂时超过指定的限制。

    可能会创建其他实例来处理从先前版本到新版本的流量迁移。 Cloud Run 提供了settings,它可以改变版本之间的迁移方式。这些设置之一用于立即为新修订版上的所有新流量提供服务。您可以测试使用此设置是否有助于减少创建的实例数量。我测试了其中一项提供的示例服务并创建了多个修订版,但未超过 1 个活动实例。

    【讨论】:

    • 谢谢你,我很惊讶你测试了它并且它没有超过 1 个活动实例。它似乎对我的,甚至在它闲置并且我发送初始请求时间歇性地这样做。唯一需要注意的是,我每小时都会发送一个调用来获取我的容器的最新数据,其中包括大约 60 个 API 调用。
    【解决方案2】:

    我读到这是一个云运行问题,您需要 10 个实例,然后错误就消失了。

    我知道这是golang中的一个错误,不知道如何使用两个实例来解决,但是应该修复10个实例。

    https://github.com/ahmetb/cloud-run-faq/issues/54

    【讨论】:

    • 请使用参考链接更新您的答案。
    • 感谢 Sergi 的信息,不确定这个答案是否就是为什么它表明这是一个实际问题。但是,我注意到我收到了 0 个请求,与该线程中的 cmets 不同
    猜你喜欢
    • 2021-12-10
    • 1970-01-01
    • 2019-12-07
    • 1970-01-01
    • 2020-09-28
    • 1970-01-01
    • 2014-05-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多