Может ли постоянный том быть запрошен несколькими репликами в режиме ReadWriteMany?

У меня есть постоянный диск (GCP), и я надеюсь, что смогу разрешить чтение и запись для нескольких модулей.

Это возможно? Вот мои два конфига:

pVolume.yaml

apiVersion: "v1"
kind: "PersistentVolume"
metadata:
  name: "pv0001" 
spec:
  storageClassName: manual
  capacity:
    storage: "10Gi" 
  accessModes:
    - "ReadWriteMany"
  gcePersistentDisk: 
    fsType: "ext4" 
    pdName: "wordpress-disk" 

pVolumeClaim.yaml

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: task-pv-claim
spec:
  storageClassName: manual
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 3Gi

С вышеупомянутым конфигом я вижу следующую ошибку на моих модулях:

FailedMount Failed to attach volume "pv0001" on node "xyz" with: googleapi: Error 400: The disk resource 'abc' is already being used by 'xyz'

Это происходит с числом реплик, равным 2.

1 ответ

Решение

Для постоянного диска GCP в режиме ReadWrite на разных узлах это невозможно:(

Возможно, однако:

  • Запланируйте обе реплики на одном и том же узле. В этом случае они оба могут монтировать один и тот же постоянный диск ReadWrite.
  • Используйте его в режиме ReadOnly на любом количестве узлов
  • Используйте другой вид PV, такой как gluster или nfs, который поддерживает этот вид использования