Kubernetes 将两个不同的状态集连接到同一PV

Kubernetes 将两个不同的状态集连接到同一PV,kubernetes,kubernetes-pvc,Kubernetes,Kubernetes Pvc,我有一个有卷目标的状态集 StatefulSet1的音量部分为 volumes: - name: artifact persistentVolumeClaim: claimName: artifacts PVC的定义是 kind: PersistentVolumeClaim apiVersion: v1 metadata: name: artifacts spec: accessModes: - "ReadWriteOnce" resources

我有一个有卷目标的状态集

StatefulSet1的音量部分为

  volumes:
  - name: artifact
    persistentVolumeClaim:
      claimName: artifacts
PVC的定义是

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: artifacts
spec:
  accessModes:
    - "ReadWriteOnce"
  resources:
    requests:
      storage: "5Gi"
  storageClassName: default
现在,当我启动StatefulSet1时,一切都正常。pod获得索赔并成功安装

现在我想提出另一个有状态集,即StatefulSet2,它需要连接到PV

因此,我的StatefulSet2的音量部分是相同的

  volumes:
  - name: artifact
    persistentVolumeClaim:
      claimName: artifacts
但当我旋转StatefulSet2时,我原来的PVC进入终止状态

kubectl get pvc artifacts
NAME                STATUS        VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS   AGE
artifacts           Terminating   pvc-b55f729d-e115-11e8-953e-02000a1bef39   5Gi       RWO            rbd-mario      31m
新pod持续处于挂起状态

kubectl get pvc artifacts
NAME                STATUS        VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS   AGE
artifacts           Terminating   pvc-b55f729d-e115-11e8-953e-02000a1bef39   5Gi       RWO            rbd-mario      31m
我不知道我做错了什么。但我的目标是将多个statefulset/pod连接到同一个PV

此PVC的accessMode设置为ReadWriteMany,因此kubernetes 允许在多个吊舱上安装此PVC

更可能的情况是:

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: artifacts
spec:
  accessModes:
    - "ReadWriteMany"
  resources:
    requests:
      storage: "5Gi"
  storageClassName: default

不幸的是,我没有这个选择。PVC上的描述说明
无法使用StorageClass“rbd mario”配置卷:无效的访问模式[ReadWriteMany]:仅支持访问模式[ReadWriteOnce ReadOnlyMany]
。还有别的办法吗?所有POD都需要对PV进行读写访问。如果您的本机存储提供商不支持ReadWriteMany,则可以使用nfs服务器provisioner为您创建RWX访问模式存储类。在这里检查流程。