我正在按照官方说明测试Google Cloud Run:
https://cloud.google.com/run/docs/quickstarts/build-and-deploy
我的问题是:
是否可以在Google Cloud Run中将多个容器作为一项服务部署或使用?例如:DB服务器容器,Web服务器容器等。
我是新来使用此服务的人。如果您能在此问题上为我提供帮助,我将不胜感激。
答案 0 :(得分:1)
简短回答您不能在同一服务上部署多个容器(就像在K8S上使用Pod一样)。
但是,您可以run several binaries in parallel on the same container->本文是由从事Cloud Run的Googler写的。
此外,请记住
/tmp
),但是当实例关闭时,所有数据都会关闭。您无法运行存储数据的数据库服务器容器。您可以与外部服务(Cloud SQL,Cloud Storage等)进行交互,但只能在本地存储临时文件答案 1 :(得分:1)
要直接回答您的问题,我认为不可能部署具有两个不同容器的服务:数据库服务器容器和Web服务器容器。这不包括扩展(服务会自动扩展到一定数量的容器实例)。
但是,您可以部署一个包含多个进程的容器(服务),尽管如本article所述,它可能不被视为最佳实践。
Cloud Run接收用户的容器并在Google基础架构上执行它,并根据用户指定的参数无缝地处理该容器的实例实例化(扩展)。
要部署到Cloud Run,您需要提供一个容器映像。正如documentation所指出的:
容器映像是一种打包格式,包括您的代码,其程序包,任何所需的二进制依赖项,要使用的操作系统以及运行服务所需的其他任何内容。
响应传入的请求,服务会自动缩放到一定数量的容器实例,每个实例都运行已部署的容器映像。 Services是Cloud Run的主要资源。
每个服务都有一个唯一且永久的URL,当您向其部署新修订时,URL不会随着时间而改变。您可以参考documentation了解有关容器运行时合同的更多详细信息。
基于上述结果,Cloud Run主要旨在运行Web应用程序。如果您采用的是微服务架构,该架构由在唯一容器中运行每个服务器的不同服务器组成,则需要部署多个服务。我了解您想将Cloud Run用作数据库服务器,但是也许您对Google's database solutions感兴趣,例如Cloud SQL,Datastore,BigTable或Spanner。