App Engine 灵活 运行 磁盘不足 space

App Engine Flexible running out of disk space

停止并删除我项目中的旧版本和实例似乎无法释放磁盘 space。在停止并删除一个工作实例然后启动一个新实例后,我收到与磁盘 space 相关的错误消息(health_check returns 不健康,我收到 vm_check_disk_space.sh 的日志)。我知道这与磁盘 space 有关,因为我可以通过在 app.yaml 中提高 resources: disk_size_gb 并重新部署来解决问题。

我的项目是 15gb,所以删除的版本和实例不会使我的项目膨胀是很重要的。我怎样才能释放未使用的 space?

作为参考,这是我的 app.yaml(项目大小为 15gb,这应该绰绰有余?)

runtime: custom
env: flex

manual_scaling:
  instances: 1

resources:
 cpu: 1
 memory_gb: 1.5
 disk_size_gb: 40

用于特定版本的 docker 映像是在部署时构建的,通常不包含您应用的其他版本(除非它们也存在于您的部署目录中)。因此,在开发者控制台中停止实例或删除其他版本对已构建的 docker 图像没有影响。

增加部署的详细程度(参见 gcloud) to see what exactly is included in the image being built then re-deploy while looking for unwanted files/directories. Then use the skip_files configuration option in app.yaml (see General settings 中的 --verbosity)以跳过它们(如果有的话)。例如,典型的此类示例是应用程序的 .git 目录。重复直到您对 docker 图片中包含的内容感到满意。

如果您在跳过不需要的文件后仍然遇到问题,这可能意味着您的自定义运行时对于应用程序的磁盘大小配置来说太大了,因此您必须增加它。

请注意,磁盘也可能用于存储运行时生成的数据,而不仅仅是用于存储您的应用程序和环境代码,因此您可能还需要调查运行时使用情况,请参阅 Debugging an Instance