部署选项和资源模型

本文档介绍 Cloud Run 中提供的各种部署选项,并说明了可用的 Cloud Run 资源。

部署选项

Cloud Run 提供了多种部署选项。 部署后,所有选项都会在 Cloud Run 的全托管式且可扩缩性极高的基础设施上作为沙盒容器实例运行。

可部署的容器映像

您可以将任何遵循 Cloud Run 容器运行时合同的容器映像部署到 Cloud Run 服务作业

Cloud Run 服务

服务是 Cloud Run 的主要资源之一。 每项服务都位于特定的Cloud de Confiance 区域。为了提供冗余和故障切换,Cloud Run 会自动跨区域内的多个可用区复制服务。给定 Cloud de Confiance 项目可以在不同区域中运行多项服务。

每项服务都会公开唯一端点。默认情况下,Cloud Run 会自动扩缩以处理传入请求。如果需要,您可以选择将扩缩行为更改为手动扩缩。您可以从容器、仓库或源代码部署服务。

下图显示了服务的 Cloud Run 资源模型:

Cloud Run 服务和修订版本

该图展示了一个包含三项 Cloud Run 服务(即 Service A、Service B 和 Service C)的 Cloud de Confiance 项目,每项服务都有多个修订版本:

  • 服务 A 正在接收多个请求,因此 Cloud Run 已启动多个实例来处理负载。其中每个实例仅运行一个容器(应用的容器)。

  • 服务 B 没有请求,因此处于空闲状态,Cloud Run 未运行任何实例。

  • 服务 C 有请求,并且已通过创建多个实例来扩缩以处理负载。在这种情况下,每个实例都运行一组多个容器。在每个集中,只有入站流量容器会收到请求,但其他容器会帮助处理请求。

Cloud Run 服务修订版本

向服务执行的每次部署都会创建一个修订版本。修订版本包含一个或多个容器映像以及配置设置(如环境变量、内存限制或请求并发值)。

修订版本创建后无法修改。例如,将容器映像部署到新服务时,Cloud Run 会创建第一个修订版本。 如果接着将另一个容器映像部署到该同一服务,Cloud Run 会创建第二个修订版本。如果随后设置了环境变量,Cloud Run 会创建第三个修订版本。随着时间的推移,Cloud Run 最终会移除未使用的旧修订版本。

Cloud Run 会尽快将请求自动路由到运行状况良好的最新服务修订版本。

Cloud Run 服务实例

Cloud Run 会根据处理所有这些请求所需的实例数量,自动扩缩接收请求的每个服务修订版本。请注意,实例可以同时接收许多请求。利用请求并发设置,您可以设置可并行发送到每个修订版本实例的请求数上限。

Cloud Run 作业

每个作业都位于特定的 Cloud de Confiance by S3NS 区域中,并包含一个或多个作业任务,这些作业任务的执行是为了运行一个或多个容器直至完成操作。作业任务是独立的,可以在给定的作业执行中并行执行。

Cloud Run 作业执行

执行作业时,系统会创建一个作业执行,以启动所有作业任务。作业执行中的所有任务都必须成功完成,执行作业才视为成功。您可以设置任务的超时,并指定在任务失败的情况下的重试次数。

如果任何任务的重试次数超出上限,Cloud Run 会将该任务标记为失败,并将作业标记为失败。默认情况下,可以并行执行的任务数最多为 100,但如果您的任何支持性资源(例如数据库)需要并行执行任务,您可以指定较低的上限。

Cloud Run 作业任务

每次作业执行都会并行执行多个任务,每个任务运行一个实例。Cloud Run 会根据作业的 maxRetries 配置自动尝试再次运行任何失败的任务。