Google cloud platform 想通过Terraform部署Google云运行服务吗

Google cloud platform 想通过Terraform部署Google云运行服务吗,google-cloud-platform,terraform,google-cloud-run,terraform-provider-gcp,Google Cloud Platform,Terraform,Google Cloud Run,Terraform Provider Gcp,我想使用terraform部署一个google云运行服务。当我试图通过“端口”块部署以定义容器端口时,出现错误,我必须从模板标记传递容器端口,但无法做到这一点。这是我的.tf文件- resource "google_cloud_run_service" "default" { name = "cloudrun-srv" location = "us-central1" template { spec { containers { imag

我想使用terraform部署一个google云运行服务。当我试图通过“端口”块部署以定义容器端口时,出现错误,我必须从模板标记传递容器端口,但无法做到这一点。这是我的.tf文件-

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

  template {
    spec {
      containers {
        image = "us.gcr.io/xxxxxx/xxxx.app"

        port {
          container_port = 19006
        }
      }
    }
  }

  traffic {
    percent         = 100
    latest_revision = true
  }
}

data "google_iam_policy" "noauth" {
  binding {
    role = "roles/run.invoker"
    members = [
      "allUsers",
    ]
  }
}

resource "google_cloud_run_service_iam_policy" "noauth" {
  location    = google_cloud_run_service.default.location
  project     = google_cloud_run_service.default.project
  service     = google_cloud_run_service.default.name

  policy_data = data.google_iam_policy.noauth.policy_data
}

output "url" {
  value = "${google_cloud_run_service.default.status[0].url}"
}
对于端口标记,以下是错误-

如果我没有通过端口块,这里是错误-

我必须将容器端口值传递为19006,因为我的容器仅在该端口上运行。如何传递容器端口19006而不是默认端口8080。

我看了一下谷歌为创建云运行服务而公开的RESTAPI

这从以下条目开始:

其中主体包含一个

其中包含一个

其中包含一个

其中包含一个

其中包含一个

其中包含一个

如果我们现在将其映射到Terraform扩展的源以处理云运行服务的创建,我们会发现:

在评论中,我们发现以下内容:

在修订的背景下,我们不允许 此容器,包括:名称、端口和卷数。运行时 合同记录如下:

虽然name和volumeMounts在这一点上对我来说还可以,但我没有感觉到端口未映射的原因

尽管如此,我似乎看到,无法通过Terraform指定端口似乎是明确的,而不是遗漏。我似乎还看到,在Google的RESTAPI中确实存在指定端口的功能

然后我打算建议您通过Github提出一个缺陷,但我想知道它是否已经存在。我做了一些挖掘,已经有人要求提供缺少的功能:

我相信,你的问题的核心答案是:

你正在尝试做的应该和Terraform一起工作,并且已经完成了 作为一个问题提出,我们必须等待最后的决议 地形提供者


我看过谷歌为创建云运行服务而公开的RESTAPI

这从以下条目开始:

其中主体包含一个

其中包含一个

其中包含一个

其中包含一个

其中包含一个

其中包含一个

如果我们现在将其映射到Terraform扩展的源以处理云运行服务的创建,我们会发现:

在评论中,我们发现以下内容:

在修订的背景下,我们不允许 此容器,包括:名称、端口和卷数。运行时 合同记录如下:

虽然name和volumeMounts在这一点上对我来说还可以,但我没有感觉到端口未映射的原因

尽管如此,我似乎看到,无法通过Terraform指定端口似乎是明确的,而不是遗漏。我似乎还看到,在Google的RESTAPI中确实存在指定端口的功能

然后我打算建议您通过Github提出一个缺陷,但我想知道它是否已经存在。我做了一些挖掘,已经有人要求提供缺少的功能:

我相信,你的问题的核心答案是:

你正在尝试做的应该和Terraform一起工作,并且已经完成了 作为一个问题提出,我们必须等待最后的决议 地形提供者


在未传递端口块时的错误消息中,有一条注释指出云日志可能包含其他信息。这些日志中有什么值得注意的吗?如果您手动配置云运行服务并指定备用端口,您的解决方案是否有效?如果您创建了一个gcloud命令来创建您的云运行环境,那么它能工作吗?如果是的话,那么当我用自定义19006端口手动创建云运行服务时,您能发布准确的gcloud命令吗。它起作用了。我需要用terraform模板通过集装箱港口。如果我尝试使用gcloud命令使用自定义端口部署我的容器,它将成功部署。gcloud run deploy-image us.gcr.io/xxxxx/xxxxx.app-port 19006在未传递端口块的错误消息中,有一条注释指出,云日志可能包含其他信息。这些日志中有什么值得注意的吗?如果您手动配置云运行服务并指定备用端口,您的解决方案是否有效?如果您创建了一个gcloud命令来创建您的云运行环境,那么它能工作吗?如果是的话,那么当我用自定义19006端口手动创建云运行服务时,您能发布准确的gcloud命令吗。它起作用了。我需要用terraform模板通过集装箱港口。如果我尝试使用gcloud命令使用自定义端口部署我的容器,它将成功部署。gcloud运行部署-image us.gcr.io/xxxxx/xxxxx.app-端口19006@Aniket-你为什么不投票并检查这个答案?还缺什么?@Aniket-Wh 你没有投票并检查这个答案吗?还缺少什么?