Cloud Run 中的已知问题

本页面列出了 Cloud Run 中的已知问题、限制和不支持的功能。

您还可以在公开问题跟踪器中检查现有问题或添加新问题。

如需排查常见错误,请参阅排查错误

已知问题

以下是 Cloud Run 中的一般已知问题。

Cloud Run 作业任务可能被虚假地标记为已重试

在某些情况下,当任务首次尝试成功时,可能会被标记为已重试。在此问题得到解决之前,Google 建议您将 --max-retries 参数设置为 3 或更高,以避免虚假的执行失败。

文件描述符限制

Cloud Run 第一代和第二代环境的文件描述符数量上限为每个实例 25,000 个。这是硬性限制。如果超出此限制,则实例可能会用尽套接字。

卷装载与 Skaffold、Config Connector 和集成不兼容

如果您使用 Skaffold、Config Connector 或 Cloud Run 集成来部署 Cloud Run 服务或作业,则在下次部署时,卷装载不会仍然存在。将 Skaffold、Config Connector 或 Cloud Run 集成与已应用卷装载的服务或作业搭配使用时,您可能也会遇到问题。我们正在努力解决此问题。

执行环境已知问题

以下是执行环境方面的已知问题。

在第一代执行环境中,HOME 环境变量设置为 /home

Cloud Run 第一代执行环境将 HOME 环境变量设置为 /home。第二代执行环境不设置此变量。

在第一代执行环境中,不能在 /tmp 上装载 Secret

如果您使用第一代执行环境,则不能直接在 /tmp 上装载 Secret。但是,您可以将 Secret 装载到 /tmp 的任何子目录上。

网络已知问题

以下是网络已知问题。

访问 VPC 网络目的地时子网受限

如果您通过专用 IP 访问任何目的地,则该目的地不能位于子网 192.168.1.0/24 上。使用此子网会阻止 Cloud Run 与目的地通信。

VPC 网络出站流量不支持 IPv6

通过直接 VPC 出站流量或无服务器 VPC 访问通道连接器发送流量时,您无法使用 IPv6。请注意,如果将 vpc-egress 设置为 private-ranges-only,则访问非 VPC 端点时支持 IPv6。

由无服务器使用时未明确识别的 IP 地址

如果使用直接 VPC 出站流量,则在查看 Google Cloud 控制台中的“IP 地址”页面时,Cloud Run 预留的 IP 地址标识为由“无”使用,而不是由“无服务器”使用。

发送和接收请求已知问题

以下是与发送和接收请求相关的已知问题。

不支持的 HTTP 请求方法

不支持使用 HTTP 方法 TRACECONNECT 的请求,因此在 Cloud Run 上运行的服务不会收到这些请求。

从某些区域调用时,使用自定义网域的请求延迟时间较长

使用自定义网域向 Cloud Run 服务发出的请求可能会在某些位置造成非常高的延迟。对于 asia-northeast1us-east4 中的 Cloud Run 服务,此问题更加明显。如果您观察到此问题,则可以使用无服务器 NEG 实现更高的 Cloud Load Balancing 性能。

有时,请求可能会在启动探测结果已知之前发送到实例

发送到服务端点的请求可能会用于启动 Cloud Run 实例,并且该请求可以在启动探测结果已知之前分配给实例。如果探测通过,则该实例将在 Cloud Run 请求日志中列出的 receiveTimestamp 时开始处理请求。如果探测失败,则系统会记录失败,而无需输入服务代码。

不支持的服务和功能

使用 Cloud Run 时,不支持以下各项。

Google Cloud 服务

下表列出了 Cloud Run 尚不支持的服务。

服务 备注
Web Security Scanner
容器威胁检测

HTTP/2 推送

Cloud Run 支持 HTTP/2,但不支持 HTTP/2 服务器推送

在受 Identity-Aware Proxy 保护的传统应用负载均衡器后面使用 HTTP/2

在受 IAP 保护的传统应用负载均衡器后面启用了 HTTP/2 的 Cloud Run 服务会在请求时遇到无限重定向循环。使用受 IAP 保护的启用了 HTTP/2 的服务时,Google 建议使用全球外部应用负载均衡器。如需了解详情,请参阅负载均衡器模式

网址已知问题

以下是网址已知问题。

预留的网址路径

无法使用以下网址路径:

  • /eventlog
  • /_ah/ 开头的路径
  • 某些以 z 结尾的路径。我们建议避免以 z 结尾的所有路径不与预留路径冲突。

某些已编码的网址字符已解码

Cloud Run 服务网址中某些编码字符在到达容器实例之前会由 Cloud Run 解码。例如,%41 会自动解码为 A