通过persistentvolumeclclaims挂载到kubernetes pod上的卷是否与副本不同?



我有一个由

定义的persistencevolumecclaim
apiVersion: 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

我对这个设置有几个问题。

  1. 我的pod的每个副本得到1GB的存储空间(假设PersistentVolume有足够的空间)?
  2. 如果pod副本在不同的kubernetes节点上,这将如何表现?

编辑

我希望我的pod的所有副本都有它自己的存储(不是共享的)。有没有一种方法可以在不创建RWM卷的情况下实现这一点?

我的pod的每个副本得到1GB的存储空间(假设PersistentVolume有足够的空间)?

。由于您使用一个PersistentVolumeClaim,您将得到一个PersistentVolume

如果pod副本在不同的kubernetes节点上,这将如何表现?

它将无法工作,除非您使用可以同时从多个节点使用的卷类型,访问模式为ReadWriteManyReadOnlyMany。但是您已经在persistentvolumecclaim中声明了ReadWriteOnce,所以它可能无法工作。

我希望我的pod的所有副本都有它自己的存储(不是共享的)。有没有一种方法可以在不创建RWM卷的情况下实现这一点?

是的,您可以使用statfulset代替Deployment,并使用volumeClaimTemplates:-字段。

最新更新