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?
GCP - 无法在 Cloud Run 中使用 Google Secret Manager (@google-cloud/secret-manager)