在应用设计中心内配置 Cloud Run 服务

Cloud Run 是一个全代管式应用平台,可让您直接在 Google 可伸缩的基础设施之上运行容器。如需了解详情,请参阅 Cloud Run 概览

本文档介绍了使用 App Design Center 创建 Cloud Run 服务时可以配置的连接和参数。配置参数基于 terraform-google-cloud-run Terraform 模块。

组件连接

下表列出了可连接到 Cloud Run 服务的组件,以及对应用及其生成的 Terraform 代码的相应更新。

关联的组成部分

申请动态

背景信息

Secret Manager
  • Cloud Run 服务可以引用 Secret 数据。
  • Secret Manager Secret Data 字段由 Cloud Run env_secret_vars 字段引用。
  • roles/secretmanager.secretAccessor 角色已添加到 Cloud Run 服务账号。
为服务配置 Secret

服务账号

  • Cloud Run 服务使用该服务账号作为服务身份
  • roles/run.invoker 角色已添加到服务账号。
  • 服务账号电子邮件地址和 IAM 信息已添加到 Cloud Run 环境变量中。
对服务到服务进行身份验证
AlloyDB for PostgreSQL
  • Cloud Run 服务可以连接到 AlloyDB for PostgreSQL 实例。
  • AlloyDB for PostgreSQL 资源元数据已添加到 Cloud Run 环境变量中。
  • AlloyDB for PostgreSQL roles/alloydb.admin 角色已添加到 Cloud Run 服务账号。
从 Cloud Run 连接
BigQuery
  • Cloud Run 服务可以与 BigQuery 数据集进行交互。
  • BigQuery 资源元数据会添加到 Cloud Run 环境变量中。
  • BigQuery roles/bigquery.dataEditor 角色已添加到 Cloud Run 服务账号。
BigQuery 概览

Bigtable

  • Cloud Run 服务可以对 Bigtable 实例执行管理功能。
  • Bigtable 资源元数据信息已添加到 Cloud Run 环境变量中。
  • roles/bigtable.admin 角色已添加到 Cloud Run 服务账号。
Bigtable 概览

另一个 Cloud Run 服务

  • 源 Cloud Run 服务可以将流量发送到目标 Cloud Run 服务。
  • 源 Cloud Run 服务在其环境变量中包含目标 Cloud Run 服务 URI。
Cloud Run 是什么

Cloud SQL (MySQL)

  • Cloud Run 服务可以读取 Cloud SQL (MySQL) 实例中的数据,也可以向其中写入数据。
  • Cloud SQL 连接元数据已添加到 Cloud Run 服务中。
  • roles/cloudsql.instanceUserroles/cloudsql.client 角色已添加到 Cloud Run 服务账号。
  • Cloud Run 服务账号已作为 IAM 用户添加到 Cloud SQL 实例。
从 Cloud Run 连接

Cloud SQL (PostgreSQL)

  • Cloud Run 服务可以读取和写入 Cloud SQL (PostgreSQL) 实例中的数据。
  • Cloud SQL 连接元数据已添加到 Cloud Run 服务中。
  • roles/cloudsql.instanceUserroles/cloudsql.client 角色已添加到 Cloud Run 服务账号。
  • Cloud Run 服务账号已作为 IAM 用户添加到 Cloud SQL 实例。
从 Cloud Run 连接

Cloud Storage

  • Cloud Run 服务可以管理 Cloud Storage 存储桶中的对象。
  • Cloud Run 服务账号 IAM 信息已添加到 Cloud Storage 存储桶。
  • roles/storage.objectAdmin 角色已分配给 Cloud Run 服务账号。
连接到 Google Cloud 服务

全球 Cloud Load Balancing 后端

  • 负载均衡器可以将传入的流量分配给 Cloud Run 服务。
  • Cloud Run 服务将作为后端端点添加到 Cloud Load Balancing 无服务器 NEG 后端配置中。
使用 Cloud Run 设置全球外部应用负载均衡器

Memorystore for Redis

  • Cloud Run 服务可以在 Memorystore for Redis 实例中缓存数据。
  • Memorystore for Redis 连接信息已添加到 Cloud Run 环境变量中。
  • roles/redis.editor 角色已添加到 Cloud Run 服务账号。
从 Cloud Run 服务连接到 Redis 实例

Pub/Sub

  • Cloud Run 服务可以接收消息或发布到 Pub/Sub 主题。
  • Pub/Sub 主题 ID 已添加到 Cloud Run 环境变量中。
  • roles/pubsub.publisherroles/pubsub.subscriber 角色已添加到 Cloud Run 服务账号。
  • Cloud Run 服务已添加到 Pub/Sub 推送和拉取订阅字段中。
教程:将 Pub/Sub 与 Cloud Run 搭配使用

区域 Cloud Load Balancing 后端

  • 负载均衡器可以将传入的流量分配给 Cloud Run 服务。
  • Cloud Run 服务将作为后端端点添加到 Cloud Load Balancing 无服务器 NEG 后端配置中。
使用 Cloud Run 设置区域级外部应用负载平衡器

区域 Cloud Load Balancing 前端

  • 负载均衡器的 HTTP 和 HTTPS IP 地址可供在 Cloud Run 容器中运行的应用使用。
  • Cloud Load Balancing 地址元数据已添加到 Cloud Run 环境变量中。
转发规则概览

Spanner

  • Cloud Run 服务可以管理 Spanner 实例。
  • Spanner 连接详细信息已添加到 Cloud Run 环境变量中。
  • roles/spanner.databaseAdmin 角色已添加到 Cloud Run 服务账号。
  • Cloud Run 服务账号 IAM 信息已添加到 Spanner 实例。
连接到 Google Cloud 服务

Vertex AI

  • Cloud Run 服务可以与 Vertex AI 服务进行交互。
  • roles/aiplatform.user 角色已添加到 Cloud Run 服务账号。
在 Cloud Run 上托管 AI 应用和代理

必需的配置参数

如果您的模板包含 Cloud Run 组件,您必须先配置以下参数,然后才能进行部署。

参数名称

说明和限制

背景信息

项目 ID

您要部署 Cloud Run 资源的项目。

配置组件

区域

Cloud Run 服务部署位置。

Cloud Run 位置

服务名称

name Cloud Run 服务

可选配置参数

以下参数为可选参数。如需显示高级参数,请在配置区域中选择显示高级字段

功能

子功能

参数名称

说明和限制条件信息

背景信息

容器

容器名称

name 构建容器

容器映像

图片 将容器映像部署到 Cloud Run

工作目录

容器的工作目录。如果未指定,则系统会使用容器运行时的默认值,该值可能会在容器映像中进行配置。

workingDir

取决于容器

dependsOn[] 为边车部署配置容器启动顺序

容器实参

args[] 为服务配置容器

容器命令

命令 为服务配置容器
环境变量

name 服务的环境变量

value 服务的环境变量
环境变量 Secret

EnvVarSource 管理密文

Secret

secret 管理密文

版本

version 管理密文
卷装载

名称

name 从 Cloud Run 连接

装载路径

mountPath 从 Cloud Run 连接
端口

名称

name 为服务使用 HTTP/2

集装箱港口

containerPort 为服务使用 HTTP/2
资源

CPU

限制 为服务配置 CPU 限制

内存

限制 为服务配置内存限制

CPU 空闲

CPU 是否仅在请求期间分配。

cpuIdle

启动 CPU 加速

startupCPUBoost 设置启动 CPU 加速
启动探测

失败阈值

failureThreshold 为服务配置容器健康检查

初始延迟秒数

initialDelaySeconds 配置探测

超时秒数

timeoutSeconds 配置探测

周期(以秒为单位)

periodSeconds 配置探测

HTTP Get 路径

path 配置探测

HTTP Get 端口

端口 配置探测

HTTP 标头名称

name 配置探测

HTTP 标头值

value 配置探测

TCP 套接字端口

端口 默认 TCP 启动探测

GRPC 端口

端口 配置探测

GRPC 服务

服务 配置探测

活跃性探测

livenessProbe 使用场景

说明

description 设置服务说明

创建服务账号

为 Cloud Run 服务创建新的服务账号。

为作业配置服务身份

服务账号项目角色

要向新创建的服务账号授予的角色。启用创建服务账号,但不要为服务账号提供输入内容。

为作业配置服务身份

入站流量

IngressTraffic 限制 Cloud Run 的网络入站流量

成员

可调用服务的用户和服务账号。对于公开访问权限,请输入 allUsers。如需允许已登录的 Google 用户访问,请输入 allAuthenticatedUsers;如需允许特定用户和服务账号访问,请输入相应列表。如需了解详情,请参阅成员

为作业配置服务身份

虚拟私有云 (VPC) 访问权限

连接器

连接器 具有连接器的 VPC

出站 出站 控制出站服务流量

网络接口

网络 网络 部署服务
子网 子网 部署服务
标记 标记 部署服务

Cloud Run 删除防护

防止 Terraform 销毁或重新创建 Cloud Run 作业和服务。

deletion_protection

启用 Prometheus Sidecar

在 Cloud Run 实例中启用 Prometheus Sidecar。

使用 Prometheus 边车写入 Prometheus 指标

名称

name 配置内存中卷
Secret Secret secret 将 Secret 设为可供 Cloud Run 访问
默认模式 defaultMode
路径 path 将 Secret 设为可供 Cloud Run 访问
版本 version 将 Secret 设为可供 Cloud Run 访问
Mode mode 将 Secret 设为可供 Cloud Run 访问
Cloud SQL 实例 实例 instances[] 从 Cloud Run 连接
空目录 medium 为服务配置内存中卷装载
大小限制 sizeLimit 为服务配置内存中卷装载
GCS 存储分区 存储桶 为服务配置 Cloud Storage 卷装载
只读 readOnly 为服务配置 Cloud Storage 卷装载
NFS 服务器 服务器 为服务配置 NFS 卷装载
路径 path 为服务配置 NFS 卷装载
只读 readOnly 为服务配置 NFS 卷装载

服务扩缩

最小实例数

minInstanceCount 为服务设置实例数下限

修订版本

修订版本 Cloud Run 服务修订版本

模板扩缩

最小实例数

minInstanceCount 为服务设置实例数下限
最大实例数 maxInstanceCount 实例数上限简介

加密密钥

encryptionKey 使用客户管理的加密密钥

实例请求并发数上限

maxInstanceRequestConcurrency 服务的并发请求数上限

会话粘性

sessionAffinity 为服务设置会话亲和性

执行环境

executionEnvironment 服务执行环境简介

流量

类型

type 回滚、逐步发布和流量迁移
百分比 百分比 回滚、逐步发布和流量迁移
修订版本 修订版本 回滚、逐步发布和流量迁移
标记 标记 回滚、逐步发布和流量迁移

服务标签

labels 为服务配置标签
labels 为服务配置标签

服务注释

annotations annotations
annotations annotations

客户

名称

API 客户端的任意标识符。

client
版本

版本标识符的任意标识符。

clientVersion

发布阶段

LaunchStage 产品发布阶段

自定义受众群体

customAudience 为服务设置自定义目标对象群组

Binary Authorization

Breakglass 理由

breakglassJustification 使用 Breakglass
使用默认值 useDefault 使用 Binary Authorization

模板标签

labels 为服务配置标签
labels 为服务配置标签

模板注释

annotations annotations
annotations annotations

超时

超时 为服务设置请求超时

服务账号

serviceAccount 为服务配置服务身份