我有一个由
定义的persistencevolumecclaimapiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: my-pvc
spec:
storageClassName: "standard"
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
部署文件的容器部分如下所示
spec:
containers:
- name: my-container
image: abc/xyz:1.2.3
volumeMounts:
- mountPath: /var/store
name: mystore
volumes:
- name: mystore
persistentVolumeClaim:
claimName: my-pvc
我对这个设置有几个问题。
- 我的pod的每个副本得到1GB的存储空间(假设PersistentVolume有足够的空间)?
- 如果pod副本在不同的kubernetes节点上,这将如何表现?
编辑
我希望我的pod的所有副本都有它自己的存储(不是共享的)。有没有一种方法可以在不创建RWM卷的情况下实现这一点?
我的pod的每个副本得到1GB的存储空间(假设PersistentVolume有足够的空间)?
。由于您使用一个PersistentVolumeClaim
,您将得到一个PersistentVolume
。
如果pod副本在不同的kubernetes节点上,这将如何表现?
它将无法工作,除非您使用可以同时从多个节点使用的卷类型,访问模式为ReadWriteMany
或ReadOnlyMany
。但是您已经在persistentvolumecclaim中声明了ReadWriteOnce
,所以它可能无法工作。
我希望我的pod的所有副本都有它自己的存储(不是共享的)。有没有一种方法可以在不创建RWM卷的情况下实现这一点?
是的,您可以使用statfulset代替Deployment
,并使用volumeClaimTemplates:
-字段。