移动本地机器 docker-compose 到 GKE,哪些 GCP 服务用于持久卷?
Moving local machine docker-compose to GKE, which GCP services to use for persistence volume?
有一个 docker 化的 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脚本中,会glob从./data/input中寻找文件,处理它们,在./data/output.[=12=中创建子目录和文件]
除了Cloud Filestore,Cloud Storage bucket是否可以满足要求?或其他 GCP 服务?
can Cloud Storage bucket able to fulfill the requirements?
如果您的要求是使用像文件系统这样的卷,答案是 否
为什么?
云存储是一个 object-storage,不能用作普通文件系统。
存储和读取文件应该是完美的,但是为了从 Cloud Storage 中提取所有强大的功能,您需要重写您的应用程序以使用 cloud storage api,例如。
在 GCP 默认情况下,持久存储是 compute engine persisten disks,你也可以使用一些 NFS 服务,比如 Firestore.
最佳解决方案取决于您的应用程序的工作方式以及此数据对您的重要性。
在这里您可以阅读有关 GCP 中 volumes 的更多信息。
有一个 docker 化的 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脚本中,会glob从./data/input中寻找文件,处理它们,在./data/output.[=12=中创建子目录和文件]
除了Cloud Filestore,Cloud Storage bucket是否可以满足要求?或其他 GCP 服务?
can Cloud Storage bucket able to fulfill the requirements?
如果您的要求是使用像文件系统这样的卷,答案是 否
为什么?
云存储是一个 object-storage,不能用作普通文件系统。 存储和读取文件应该是完美的,但是为了从 Cloud Storage 中提取所有强大的功能,您需要重写您的应用程序以使用 cloud storage api,例如。
在 GCP 默认情况下,持久存储是 compute engine persisten disks,你也可以使用一些 NFS 服务,比如 Firestore.
最佳解决方案取决于您的应用程序的工作方式以及此数据对您的重要性。
在这里您可以阅读有关 GCP 中 volumes 的更多信息。