【问题标题】:Frequent RESOURCE_EXHAUSTED errors频繁的 RESOURCE_EXHAUSTED 错误
【发布时间】:2017-06-22 18:40:14
【问题描述】:

我最近开始使用 Google Cloud Deployment Manager,但遇到了一些奇怪的错误。也许这里有人会对原因有所了解。

通常我会在预览模式下“创建”一个部署,然后在 GUI 中看到它后,我会单击“部署”按钮并让它完成。但是当它完成时,我会收到以下错误消息:

{
    "ResourceType": "deploymentmanager.v2.virtual.enableService",
    "ResourceErrorCode": "429",
    "ResourceErrorMessage": {
        "code": 429,
        "message": "Insufficient tokens for quota 'DefaultGroup' and limit 'CLIENT_PROJECT-100s' of service 'servicemanagement.googleapis.com' for consumer 'project_number:794362051698'.",
        "status": "RESOURCE_EXHAUSTED",
        "details": [{
            "@type": "type.googleapis.com/google.rpc.Help",
            "links": [{
                "description": "Google developer console API key",
                "url": "https://console.developers.google.com/project/794362051698/apiui/credential"
            }]
        }],
        "statusMessage": "Too Many Requests",
        "requestPath": "https://servicemanagement.googleapis.com/v1/operations/projectSettings.d51a6a47-7a15-42bb-90a7-70c3dd7c25e3"
    }
}

有人可能认为这是由于超出了配额,但在检查 IAM->Quotas 中的配额后,我找不到任何超出配额的内容。

现在在我的部署管理器中堆积了 3 个部署,处于类似的抱歉状态。奇怪的是我的项目已创建,当我查看为该项目启用的 API 时,我发现我在 DM 配置中指定的所有内容。

编辑:当我删除一些我启用的 API 时,问题似乎消失了(使用我的 resource: 块中的 apis: 块)。我正在尝试启用 23,但是当我将这个数字减半时问题就消失了。

【问题讨论】:

    标签: google-deployment-manager


    【解决方案1】:

    https://github.com/GoogleCloudPlatform/google-cloud-node/issues/1756 中讨论了此问题。结果是:

    我给每个订阅一个唯一的订阅名称 (uuid) 以确保消息一次到达单个订阅者,因此减少使用的一种方法是避免这种情况,而是忽略不相关的消息。但是解决它的主要问题是增加开发者控制台中的配额,如果我没记错的话,默认配额是 1K,我把它增加到最大值(10K);目前尚不清楚您实际上可以从控制台执行此操作。最后,我现在使用不同的消息队列有几个原因,我认为 10K 太少了其中一个原因 ;)

    【讨论】:

    • 尚不清楚消息队列与该问题有什么关系。还不清楚要从 1000 增加到 10000 的配额。事实上,我确实在“Pub/Sub Quotas”部分增加了“Administrative Operations”的配额。仍然没有运气。阅读完链接后,我完全不确定如何在 Deployment Manager 的上下文中“生成随机订阅 ID 以确保所有订阅者都收到消息”。
    • 我已经搜索了Deployment Manager Examples 的全部内容,并且在任何地方都没有找到“uuid”的实例。
    【解决方案2】:

    您可能会遇到部署管理器强加的配额 - https://cloud.google.com/deployment-manager/pricing-and-quotas

    部署管理器

    Deployment Manager 强制执行以下 API 限制和配额:

    • 无限读取请求,包括通过 gcloud 或 Google Cloud Platform Console 发出的任何请求。 get 和 list 等请求将被视为读取请求。
    • 无限删除请求删除 部署。
    • 每天 1,000 个 API 写入请求,包括通过 gcloud 发出的请求。这包括更改或创建部署和资源的请求,例如插入和更新。
    • 每秒 20 个 API 请求
    • 每个项目 1,000 个部署
    • 用户提供的配置限制为 1 MB,包括 YAML 配置和任何导入。
    • 扩展配置限制为 1 MB。完全展开时,您的 配置不能超过这个大小。

    【讨论】:

    • 我最初将此标记为正确答案,但我不太相信,即使我相信了,也没有明显的解决方案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-09
    • 1970-01-01
    • 2020-09-12
    • 2017-01-14
    • 1970-01-01
    相关资源
    最近更新 更多