![](/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.