Filestore 卷支持 ReadWriteMany,因此您可以在多个 pod 上挂载相同的 PV 以进行写访问。您将创建一个 PersistentVolumeClaim,并将 accessModes 设置为 ReadWriteMany:
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: sharedpvc
spec:
accessModes:
- ReadWriteMany
storageClassName: standard-rwx
resources:
requests:
storage: 1Ti
然后将其安装在您的每个部署中
volumes:
- name: shared
persistentVolumeClaim:
claimName: sharedpvc
因此,相同的 Filestore 实例现在已安装在 pod/deployments 上,但您仍然需要使用自己的机制来确保 pod 不会破坏彼此的数据。这里有两个选项我会考虑:
- 为每个部署编写的所有文件使用单独的前缀
- 在卷中为每个部署创建一个目录
您不能创建单独的分区,也不能限制每个部署的存储大小。但是通过这种方式,您可以让多个 pod 写入同一个实例,而不是创建多个 1TB 实例。