簡體   English   中英

等待創建 DomainMapping 時出錯:資源處於失敗狀態 state“Ready:False”,消息:路由 XXX 不存在

[英]Error waiting to create DomainMapping: resource is in failed state "Ready:False", message: Route XXX does not exist

我正在使用此 Terraform 代碼創建 Cloud Run 服務和域映射:

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}"
  metadata {
    namespace = var.project_id
  }
  spec {
    route_name = "order"
  }
}

當我應用該代碼時,第一次應用失敗。

錯誤:等待創建 DomainMapping 時出錯:資源處於失敗狀態 state“Ready:False”,消息:路由順序不存在。

然后在等待幾分鍾后我重新申請並且沒有錯誤地完成。 我認為這是因為第一次應用資源google_cloud_run_service還沒有准備好。

所以我的問題是我們如何配置google_cloud_run_domain_mapping的資源創建等待首先創建google_cloud_run_service

如果您查看google_cloud_run_domain_mapping資源文檔中的示例,您會發現它們引用了google_cloud_run_service資源的 output:

resource "google_cloud_run_service" "default" {
  name     = "cloudrun-srv"
  location = "us-central1"

  metadata {
    namespace = "my-project-name"
  }

  template {
    spec {
      containers {
        image = "us-docker.pkg.dev/cloudrun/container/hello"
      }
    }
  }
}

resource "google_cloud_run_domain_mapping" "default" {
  location = "us-central1"
  name     = "verified-domain.com"

  metadata {
    namespace = "my-project-name"
  }

  spec {
    route_name = google_cloud_run_service.default.name
  }
}

這允許 Terraform 意識到這兩個資源之間存在依賴順序,因此它會等到google_cloud_run_service資源先創建后再嘗試創建google_cloud_run_domain_mapping資源。

以下這些鏈接記錄了 Terraform 如何在您配置的資源之間構建依賴關系圖:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM