如何使用Terraform Module增加GCP的配额?

问题描述

当我使用terraform代码自动创建具有各种资源的新GCP项目(例如:Redissql,GKE等)时,出现以下错误

Error: error creating NodePool: googleapi: Error 403:
    (1) insufficient regional quota to satisfy request: resource "cpuS": request requires '35.0' and is short '24.0'. project has a quota of '24.0' with '24.0' available. View and manage quotas at https://console.cloud.google.com/iam-admin/quotas?usage=USED&project=<PROJECT_ID>
    (2) insufficient regional quota to satisfy request: resource "IN_USE_ADDRESSES": request requires '10.0' and is short '4.0'. project has a quota of '8.0' with '8.0' available. View and manage quotas at https://console.cloud.google.com/iam-admin/quotas?usage=USED&project=<PROJECT_ID>.,forbidden

我试图运行的terraform代码

resource "google_project" "my_project" {
  provider   = google-beta
  name       = "tf-test-project"
  project_id = "quota-123"
  org_id     = "123456789"
}

resource "google_service_usage_consumer_quota_override" "override" {
  provider       = google-beta
  project        = google_project.my_project.project_id
  service        = "compute.googleapis.com"
  metric         = "compute.googleapis.com%2Fcpus"
  limit          = "%2Fproject%2Fregion"
  override_value = "95"
  force          = true
}

运行terraform资源 google_service_usage_consumer_quota_override.override

后收到的错误
Error: Error creating ConsumerQuotaOverride: googleapi: Error 400: Precise override for limit with quota unit '1/{project}/{region}' on metric 'compute.googleapis.com/cpus' can't be applied in service: compute.googleapis.com.
Details:
[
  {
    "@type": "type.googleapis.com/google.rpc.PreconditionFailure","violations": [
      {
        "subject": "?error_code=101035\u0026quota_unit=1/%7Bproject%7D/%7Bregion%7D\u0026metric=compute.googleapis.com/cpus\u0026service=compute.googleapis.com","type": "googleapis.com"
      }
    ]
  }
]
on quota.tf line 1,in resource "google_service_usage_consumer_quota_override" "override":
  1: resource "google_service_usage_consumer_quota_override" "override" {

我想使用 terraform 增加 GCP 资源“ cpuS ”和“ IN_USE_ADDRESSES ”的配额新GCP项目的模块。

有可能吗?

谢谢!

https://www.terraform.io/docs/providers/google/r/service_usage_consumer_quota_override.html

解决方法

您收到这些错误,因为您使用的值超出了配额限制。

每个配额限制对所有使用者都有一个默认值,由服务所有者设置。可以通过配额覆盖更改此默认值。

但是配额覆盖不能将可用配额增加到服务默认值和其他方(例如服务所有者或组织的配额管理员)现有的任何覆盖范围之外。

要增加可用配额,请使用配额主页面上的Edit Quotas选项,或向组织管理员询问配额的增加。

您可以使用Quota页面查看项目的配额信息:

GCP导航=> IAM和管理员=>配额,

或通过以下gcloud命令:

$ gcloud compute project-info describe --project project-name 
$ gcloud compute regions describe region-name

在您的特殊情况下,请求10个地址,并且由于8个地址的配额,部署不足4个地址。对于同一CPU,请求了35个CPU,配额限制为24个CPU。