![](/img/trans.png)
[英]Letsencrypt certificate READY is False and the STATUS is 'Issuing certificate as Secret does not exist'
[英]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.