【问题标题】:Moving local machine docker-compose to GKE, which GCP services to use for persistence volume?将本地机器 docker-compose 移动到 GKE,哪些 GCP 服务用于持久化卷?
【发布时间】:2021-01-24 03:05:19
【问题描述】:

拥有一个 dockerized python 脚本并使用 docker-compose 进行本地开发。需要将其移至 GKE,但不确定哪些 GCP 服务可用于其持久卷。

# docker-compose.yaml
version: "3"

services:
  python-obj-01:
    image: python-obj
    build:
      context: .
      dockerfile: dockerfile
    container_name: python-obj-01
    volumes:
      - ./data/inputs:/home/appuser/data/inputs
      - ./data/outputs:/home/appuser/data/outputs
      - ./data/model:/home/appuser/data/obj_detection

我的本​​地机器上有 3 个挂载点:

  • ./data/input : 读取并处理输入数据
  • ./data/output:写入结果
  • ./data/model : 读取输入数据的模型

在 python 脚本中,它将从 ./data/inputs 中查找文件,对其进行处理,在 ./data/output 中创建子目录和文件。

除了 Cloud Filestore,Cloud Storage 存储桶能否满足要求?或其他 GCP 服务?

【问题讨论】:

  • 您的文件的生命周期是多少?它们是在部署 Pod 之前存在还是只是临时的请求?什么时候可以删除?
  • pod部署前文件存在,kubernetes作业完成后不会被删除

标签: docker kubernetes google-cloud-platform google-compute-engine google-kubernetes-engine


【解决方案1】:

Cloud Storage 存储桶能否满足要求?

如果您需要使用像文件系统这样的卷,答案是 NO

为什么?

云存储是一种对象存储,不能用作普通文件系统。 它应该非常适合存储和读取文件,但是为了从 Cloud Storage 中提取所有强大的功能和特性,您需要重写您的应用程序以使用 cloud storage api,例如。

GCP中,持久化存储默认是计算引擎持久化磁盘,你也可以使用一些NFS服务,比如Firestore

最佳解决方案取决于您的应用程序的工作方式以及这些数据对您的重要性。

您可以在此处阅读有关 GCP 中 volumes 的更多信息。

【讨论】:

    猜你喜欢
    • 2021-07-13
    • 2021-12-28
    • 1970-01-01
    • 1970-01-01
    • 2020-05-17
    • 1970-01-01
    • 2018-12-09
    • 1970-01-01
    • 2017-06-06
    相关资源
    最近更新 更多