在Google Cloud Run或Google App Engine中运行侧边容器

4
在Google Cloud Run或App Engine中是否可以运行侧面容器或init容器?我找不到任何相关文档,并试图在GCP支持论坛上提出此问题,但被指示在stack-overflow上询问。如果可能,您将如何实现这一点?我遇到了这个repo,但它没有帮助。我知道在GKS中是可能的,但正在尝试使用这些服务做同样的事情。

在 Cloud Run 的上下文中,“side” 容器是什么?对于 Cloud Run,我们有一个容器,它可以缩减到零实例。当 REST 请求到达时,实例会自动启动,并且您只需要为正在处理的工作付费。 - Kolban
1
简短的回答是否定的。你想在容器中做的任何事情都必须自己完成。例外情况是,Cloud SQL代理被添加到你的容器中作为旁路。 - John Hanley
谢谢,我也这么想,@John.....@Kolban,我的问题已经在上面得到了回答。 - dontke
5个回答

9

目前你无法在Cloud Run上运行Pod,只能运行容器。但是,可以运行多进程容器来帮助你实现这一点。

您可以在此处找到Ahmet的一篇文章herehere,介绍如何在同一个容器中运行多个进程。

注意:Ahmet是Google Cloud Run工程师之一,您可以信任他的文章!


6

1
请解释一下您提供的额外见解,超过三年前John Hanley的评论。将评论转化为答案是可取的,但您需要进行归属。 - Yunnosch
Cloud Run 两周前开始支持 Sidecars, 作为此功能的产品经理,我可以证明这一点。3年前的 Cloud Run 中没有 Sidecars。不确定您所指的评论是什么。为了增加更多背景信息,您可以在此处找到此功能涵盖的用例 - https://cloud.google.com/blog/products/serverless/cloud-run-now-supports-multi-container-deployments - Sagar Randive
我所指的评论是三年前John Hanley发表的,时间是2020-01-31 21:46,他说:“简短的回答是否定的。你想在容器中做任何事情都必须自己动手。唯一的例外是Cloud SQL Proxy,它与你的容器并排运行。”你有找到这个评论的困难吗?我对你的帖子和那个评论的理解非常相似。也许你用“并排运行”这个术语有不同的意思。我建议你修改你的帖子,避免像我一样的误解。欢迎添加你的评论信息,包括你的归属声明。 - Yunnosch
很遗憾,Cloud Run的作业仍然只支持单个容器。 - undefined


1

这似乎已经改变了。

容器运行时契约指出:“Cloud Run实例始终具有一个单一的入口容器,以及可选的一个或多个sidecar容器。”

部署到Cloud Run > Sidecars中有部署说明,包括:

  • 创建名为service.yaml的文件,并添加多个image条目
  • 添加任何其他YAML 配置
  • 使用gcloud run services replace service.yaml进行部署

0
如John所述,答案是否定的。Cloud Run和App Engine都为您提供了一种在云中部署容器化应用程序并运行它的简单方法。
为了使这个过程尽可能简单和流畅,您在Pod规范中看到的其他特性是不可用的(例如init容器或运行多个容器)。
对于更复杂的部署,建议使用GKE。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接