如何访问Google Cloud Filestore服务器中存储的数据?
访问已关联GKE的Google Cloud FileStore数据的方法
下面分三种常见场景给出操作步骤:
场景1:在GKE集群内部访问(最常用)
- 步骤1:创建指向FileStore实例的
PersistentVolume(PV),示例配置如下,对应字段替换为你自己的FileStore参数即可:
apiVersion: v1 kind: PersistentVolume metadata: name: filestore-pv spec: capacity: storage: 1Ti # 替换为你的FileStore实际容量 accessModes: - ReadWriteMany nfs: path: /vol1 # 替换为你的FileStore共享目录名 server: 10.0.0.2 # 替换为你的FileStore实例的内网IP storageClassName: filestore-sc
- 步骤2:创建
PersistentVolumeClaim(PVC)绑定上述PV,示例配置:
apiVersion: v1 kind: PersistentVolumeClaim metadata: name: filestore-pvc spec: accessModes: - ReadWriteMany storageClassName: filestore-sc resources: requests: storage: 1Ti # 与PV配置的容量保持一致
- 步骤3:在工作负载中挂载PVC即可访问数据,以Deployment为例:
apiVersion: apps/v1 kind: Deployment metadata: name: test-filestore-app spec: replicas: 1 selector: matchLabels: app: test-fs template: metadata: labels: app: test-fs spec: containers: - name: nginx image: nginx:latest volumeMounts: - name: fs-storage mountPath: /app/data # 容器内的挂载路径 volumes: - name: fs-storage persistentVolumeClaim: claimName: filestore-pvc # 填写你创建的PVC名称
配置完成后,进入容器的/app/data路径即可直接读写FileStore中的数据。
场景2:在同VPC的非GKE云服务器中访问
- 先确认云服务器与FileStore所属VPC相同,或VPC已打通对等连接
- 安装NFS客户端:
- Debian/Ubuntu系统执行:
apt update && apt install -y nfs-common - CentOS/RHEL系统执行:
yum install -y nfs-utils
- Debian/Ubuntu系统执行:
- 执行临时挂载命令:
mount <FileStore内网IP>:<共享目录名> <本地挂载路径> - 如需开机自动挂载,将
<FileStore内网IP>:<共享目录名> <本地挂载路径> nfs defaults 0 0写入/etc/fstab文件即可
场景3:临时验证FileStore连通性
你可以直接在GKE中启动临时调试Pod快速验证:
- 执行命令创建临时Pod:
kubectl run -it --rm --image=ubuntu nfs-debug -- bash - Pod内安装NFS客户端后,直接手动挂载FileStore路径测试读写
注意事项
- 请确认VPC防火墙规则已放行NFS所需的111、2049端口,以及动态挂载端口范围的入站规则
- FileStore默认基于VPC网段控制访问权限,如有特殊权限需求可在GCP控制台FileStore实例配置页调整
内容的提问来源于stack exchange,提问作者Mohammad Saad
相关产品推荐
相关产品推荐

