Google Cloud Run 的默认存储空间是啥?

Posted

技术标签:

【中文标题】Google Cloud Run 的默认存储空间是啥?【英文标题】:What's the default storage for Google Cloud Run?Google Cloud Run 的默认存储空间是什么? 【发布时间】:2019-09-18 08:48:39 【问题描述】:

我找不到关于 Google Cloud Run 所拥有的存储空间的文档。例如,在我们创建 VM 时,它是否包含很少的千兆字节存储空间? 如果没有,是否有一个“/tmp”文件夹,我可以在请求期间将数据临时放入其中?如果可用,有什么限制?

如果两者都不可用,如果我想在运行 Cloud Run 时保存一些临时数据,有什么建议?

【问题讨论】:

【参考方案1】:

Cloud Run 是一个无状态的服务平台,没有任何内置的存储机制。

文件可以临时存储在容器实例中以供处理,但如runtime contract 中所述,此存储来自服务的可用内存。服务可用的最大内存为 8 GB。

对于持久存储,建议使用提供存储或数据库的integrate with other GCP services。

为此提供的***服务是Cloud Storage 和Cloud Firestore。

这两者特别适合 Cloud Run,因为它们具有最“无服务器”的兼容性:水平扩展以匹配 Cloud Run 的扩展能力,并且能够在状态更改时触发事件以通过以下方式插入异步、无服务器架构Cloud Pub/Sub 和 Cloud Storage 的 Registering Object Changes 和 Cloud Functions 与 Cloud Function Events & Triggers。

【讨论】:

【参考方案2】:

可写磁盘存储是内存中的文件系统,受实例内存限制,最大为 8GB。写入文件系统的任何内容都不会在实例之间持久化。

见:

https://cloud.google.com/run/quotas https://cloud.google.com/run/docs/reference/container-contract#filesystem https://cloud.google.com/run/docs/reference/container-contract#memory

【讨论】:

以上是关于Google Cloud Run 的默认存储空间是啥?的主要内容,如果未能解决你的问题,请参考以下文章

Google Cloud Tasks 无法向 Cloud Run 进行身份验证

Terraform:Cloud Run 服务上的 Cloud Endpoints?

是否可以删除命名空间中的所有Google Cloud Datastore Kinds?

监控 Google Cloud Run 内存使用情况

GCP - 无法在 Cloud Run 中使用 Google Secret Manager (@google-cloud/secret-manager)

输入使用 Google Cloud Run 运行的 docker 容器