使用哪种 GCP 产品来运行 Docker 容器,将一系列 UDP 端口暴露给公共互联网

使用哪种 GCP 产品来运行 Docker 容器,将一系列 UDP 端口暴露给公共互联网

我不知道该使用哪种 GCP 产品才能运行 Docker 容器,例如“docker run -p 5001-5110:5001-5110/udp hunter_ctrl_standalone:latest -s foo”。容器将使用约 2 GB 的 RAM、1 个 CPU。无需负载平衡。

Cloud Run 似乎仅适用于 HTTP(s) 工作负载。GKE 似乎也更适合 HTTP(s) 工作负载。使用容器优化操作系统 (COS) 的 Compute Engine 上的容器似乎确实可以解决问题,但另一方面,根据https://cloud.google.com/compute/docs/containers/deploying-containers#limitations无法通过 API(仅限控制台和 gloud)自动操作容器。

我是否错过了某种可能性? 有没有关于 GCP 运行时环境及其优缺点的良好概述?

答案1

我看到您正在尝试收集有关不同 GCP 产品以及在何处运行部署的一些信息以及它们的优点。

我在 StackOverflow 上找到了这个问答 [1],我想你可能会感兴趣。


[1]https://stackoverflow.com/questions/22697049/google-app-engine-and-google-compute-engine 之间有什么区别/49950687#49950687

答案2

应用引擎听起来不错。您可以在 app.yaml 文件中设置转发端口:

转发端口: 可选。您可以将端口从实例 (HOST_PORT) 转发到 Docker 容器 (CONTAINER_PORT)。如果您仅指定 PORT,则 App Engine 会假定它是主机和容器上的相同端口。默认情况下,TCP 和 UDP 流量都会被转发。流量必须直接发送到目标实例的 IP 地址,而不是通过 appspot.com 域或您的自定义域。

转发端口允许直接连接到实例上的 Docker 容器。此流量可以通过任何协议传输。[https://cloud.google.com/appengine/docs/flexible/custom-runtimes/configuring-your-app-with-app-yaml#port_forwarding][1]

虽然使用带有容器优化操作系统的虚拟机听起来也不错,但 AppEngine 是平台即服务,需要做的事情更少

相关内容