是否可以在云 运行 服务中公开 5001 (HTTP) 和 5672 (TCP) 端口?

Is it posible to expose 5001 (HTTP) and 5672 (TCP) ports in a Cloud Run Service?

我正在 Google Cloud 中设置解决方案。我需要一个 RabbitMQ 队列代理和一个在 .NET Core 2.2 中开发的 WebAPI。这个想法是让 WebAPI 连接到 RabbitMQ 以接收消息。

我已经在带有 RabbitMQ 集群的 kubernetes 集群中安装了带有 GKE 的 RabbitMQ,这是在 Marketplace 中获得的。我已经在云端安装了 WebAPI 运行。两个组件都是以标准方式提出的,没有任何发布的特殊性。

WebAPI 将端口 5001 用于 HTTP 流量,显然订阅 RabbitMQ 以接收消息的侦听器使用端口 5672。

问题是将 WebAPI 上传到云 运行 不起作用,显然是因为云 运行 只为 HTTP 流量公开一个端口,因此另一个端口 5672 被阻止。

通过在 kubernetes 上的容器中安装相同的 WebAPI,它确实公开了端口 5001 和 5672 并且工作正常。

能否将 WebAPI 发布到云 运行,除了为 HTTP 流量公开端口 5001 外,还公开端口 5672(在本例中用于打开 TCP 连接),从而能够连接到RabbitMQ?

没有

云 运行(完全托管)始终通过 HTTPS 向单个端口(在 :443 上)公开服务。