lee*_*n24 4 google-compute-engine google-cloud-platform kubernetes google-kubernetes-engine
使用ReadWriteMany将卷附加到多个Pod来创建持久卷声明的最佳方法是什么?
根据https://kubernetes.io/docs/concepts/storage/persistent-volumes中的支持表,GCEPersistentDisk本机不支持ReadWriteMany。
在GCP GKE世界中工作时最好的方法是什么?我应该使用CephFS或Glusterfs等群集文件系统吗?是否有关于生产准备就绪的建议?
我能够按照以下步骤配置NFS Pod部署-https: //medium.com/platformer-blog/nfs-persistent-volumes-with-kubernetes-a-case-study-ce1ed6e2c266但它似乎有点哈克并增加了另一层复杂性。它似乎也只允许一个副本(这是有意义的,因为磁盘无法多次安装),因此,如果/当Pod发生故障时,我的持久存储也将恢复。
Ant*_*ine 15
现在可以使用Cloud Filestore。
首先创建一个 Filestore 实例。
gcloud filestore instances create nfs-server
--project=[PROJECT_ID]
--zone=us-central1-c
--tier=STANDARD
--file-share=name="vol1",capacity=1TB
--network=name="default",reserved-ip-range="10.0.0.0/29"
Run Code Online (Sandbox Code Playgroud)
然后在 GKE 中创建一个持久卷。
apiVersion: v1
kind: PersistentVolume
metadata:
name: fileserver
spec:
capacity:
storage: 1T
accessModes:
- ReadWriteMany
nfs:
path: /vol1
server: [IP_ADDRESS]
Run Code Online (Sandbox Code Playgroud)
[IP_ADDRESS] 在文件存储实例详细信息中可用。
您现在可以请求持久卷声明。
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: fileserver-claim
spec:
accessModes:
- ReadWriteMany
storageClassName: "fileserver"
resources:
requests:
storage: 100G
Run Code Online (Sandbox Code Playgroud)
最后,将卷挂载到您的 pod 中。
apiVersion: v1
kind: Pod
metadata:
name: my-pod
spec:
containers:
- name: my container
image: nginx:latest
volumeMounts:
- mountPath: /workdir
name: mypvc
volumes:
- name: mypvc
persistentVolumeClaim:
claimName: fileserver-claim
readOnly: false
Run Code Online (Sandbox Code Playgroud)
解决方案详述如下:https : //cloud.google.com/filestore/docs/accessing-fileshares
| 归档时间: |
|
| 查看次数: |
2180 次 |
| 最近记录: |