域映射指向云端服务内的标签 运行
Domain Mapping to point to a tag inside a service on Cloud Run
现在我正在部署到云 运行 和 运行
gcloud run deploy myapp --tag pr123 --no-traffic
然后我可以通过
访问该应用程序
https://pr123---myapp-jo5dg6hkf-ez.a.run.app
现在我想要将自定义域映射到此标记。我知道如何将自定义域指向该服务,但我不知道如何将其指向我的服务的标记版本。
我能否向 DomainMapping 添加标签,使映射获得此版本的云 运行 服务?或者是否有 routeName,例如。 myapp#pr123 在那里可以解决问题?
最后我想要
https://pr123.dev.mydomain.com
作为此服务的端点。
使用自定义域,您可以将 DNS 配置为指向服务,而不是服务的 revision/tag。所以,你不能这样。
解决方案是使用 load balancer with a serverless NEG. The most important is to define the URL mask 来映射负载均衡器接收的 URL 中的标签和服务。
我最终构建了带有网络端点组的负载均衡器(按照建议)。为了进一步参考,这里是我创建它的 terraform 片段。该部分就是您分配给修订版的流量标签。
resource "google_compute_region_network_endpoint_group" "api_neg" {
name = "api-neg"
network_endpoint_type = "SERVERLESS"
region = "europe-west3"
cloud_run {
service = data.google_cloud_run_service.api_dev.name
url_mask = "<tag>.preview.mydomain.com"
}
}
现在我正在部署到云 运行 和 运行
gcloud run deploy myapp --tag pr123 --no-traffic
然后我可以通过
访问该应用程序https://pr123---myapp-jo5dg6hkf-ez.a.run.app
现在我想要将自定义域映射到此标记。我知道如何将自定义域指向该服务,但我不知道如何将其指向我的服务的标记版本。
我能否向 DomainMapping 添加标签,使映射获得此版本的云 运行 服务?或者是否有 routeName,例如。 myapp#pr123 在那里可以解决问题?
最后我想要
https://pr123.dev.mydomain.com
作为此服务的端点。
使用自定义域,您可以将 DNS 配置为指向服务,而不是服务的 revision/tag。所以,你不能这样。
解决方案是使用 load balancer with a serverless NEG. The most important is to define the URL mask 来映射负载均衡器接收的 URL 中的标签和服务。
我最终构建了带有网络端点组的负载均衡器(按照建议)。为了进一步参考,这里是我创建它的 terraform 片段。该部分就是您分配给修订版的流量标签。
resource "google_compute_region_network_endpoint_group" "api_neg" {
name = "api-neg"
network_endpoint_type = "SERVERLESS"
region = "europe-west3"
cloud_run {
service = data.google_cloud_run_service.api_dev.name
url_mask = "<tag>.preview.mydomain.com"
}
}