You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Terraform创建Cloud Run域名映射提示Route不存在如何配置资源依赖?

解决方案

该报错是因为Terraform默认未识别两个资源的依赖关系,导致google_cloud_run_domain_mapping在google_cloud_run_service完全就绪前就启动创建,关联的Route资源还未生成。
你只需要做两处调整即可解决:

  1. 在google_cloud_run_domain_mapping资源中添加depends_on参数,显式声明依赖Cloud Run服务资源
  2. 建议将route_name属性值改为直接引用Cloud Run服务的name属性,避免硬编码字符串出现名称不一致的问题

修改后的完整代码如下:

resource "google_cloud_run_service" "order" {
    autogenerate_revision_name = false
    location                   = "asia-southeast1"
    name                       = "order"
    project                    = "mycompany"

    template {
        spec {
            containers {
                args    = []
                command = []
                image   = "asia.gcr.io/mycompany/order:1.1.11"

                ports {
                    container_port = 7075
                }

                resources {
                    limits   = {
                        "cpu"    = "1000m"
                        "memory" = "2048Mi"
                    }
                    requests = {}
                }
            }
        }
    }
}

resource "google_cloud_run_domain_mapping" "order" {
  location = var.region
  name     = "order.${var.public_domain}"
  # 显式声明依赖Cloud Run服务创建完成
  depends_on = [google_cloud_run_service.order]
  metadata {
    namespace = var.project_id
  }
  spec {
    # 直接引用资源属性,避免硬编码错误
    route_name = google_cloud_run_service.order.name
  }
}

调整后首次执行terraform apply就不会再出现时序导致的创建失败问题,GCP provider会在标记Cloud Run服务创建完成前等待服务及关联Route资源就绪,再启动域名映射的创建流程。

内容的提问来源于stack exchange,提问作者fauzanx

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 21:09:05