使用Terraform创建GKE节点池时遭遇并发操作配额超限的429错误求助
Terraform创建GKE节点池时遭遇并发操作配额超限的429错误求助
嗨,这个问题我之前也碰到过!本质是GKE给单个集群设置了并发操作配额上限(这里是1),当你用Terraform创建节点池时,集群已经在执行另一个操作了,就触发了429限流错误。
先贴出你遇到的具体错误日志:
2023-06-29 15:49:25,017 - Error: error creating NodePool: googleapi: Error 429: Too many operations: cluster "testcluster" hits the concurrent operations quota 1, please try again later. 2023-06-29 15:49:25,018 - Details: 2023-06-29 15:49:25,018 - [ 2023-06-29 15:49:25,018 - { 2023-06-29 15:49:25,018 - "@type": "type.googleapis.com/google.rpc.RequestInfo", 2023-06-29 15:49:25,018 - "requestId": "0xd57aa0cb25cb8889" 2023-06-29 15:49:25,018 - } 2023-06-29 15:49:25,018 - ] 2023-06-29 15:49:25,018 - , rateLimitExceeded
下面给你几个可行的解决办法:
- 先等一等,让正在进行的操作跑完:打开GCP控制台的GKE页面,找到
testcluster,看看是不是有正在执行的操作(比如集群版本升级、已有节点池扩容/缩容、其他资源创建),等这些操作全部完成后,再重新运行terraform apply就行。 - 给Terraform加依赖,强制串行执行:如果你的Terraform配置里同时触发了多个针对这个集群的操作(比如一边创建集群,一边创建节点池;或者同时创建多个节点池),可以用
depends_on参数明确执行顺序,避免并发请求。举个例子:
resource "google_container_node_pool" "test_node_pool" { name = "test-node-pool" cluster = google_container_cluster.testcluster.name node_count = 2 # 确保集群的所有初始化操作完成后,再创建这个节点池 depends_on = [google_container_cluster.testcluster] }
- 申请提高配额上限:如果你的业务场景确实需要同时执行多个集群操作,可以去GCP的配额管理页面,找到“Concurrent operations per cluster”这个配额项,提交申请提高上限,一般GCP团队会在几个工作日内处理。
备注:内容来源于stack exchange,提问作者Miguel Harmant
相关产品推荐
相关产品推荐

