Развертывание и ПВХ - PullRequest
       9

Развертывание и ПВХ

0 голосов
/ 08 июня 2018

У меня есть следующее PersistentVolumeClaim :

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: nginx-pvc
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 256Mi
  storageClassName: fask

и Развертывание :

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
spec:
  replicas: 2
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.7.9
        ports:
        - containerPort: 80
        volumeMounts:
        - name: data
          mountPath: "/var/www/html"
      volumes:
      - name: data
        persistentVolumeClaim:
          claimName: nginx-pvc

Если я запускаю с одиночная реплика Развертывание моего PV динамически создается vsphere StorageClass

Однако, если у меня больше чем 2 реплик, он не сможет создать второй PV:

AttachVolume.Attach failed for volume "pvc-8facf319-6b1a-11e8-935b-00505680b1b8" : Failed to add disk 'scsi0:1'.
Unable to mount volumes for pod "nginx-deployment-7886f48dcd-lzms8_default(b0e38764-6b1a-11e8-935b-00505680b1b8)": timeout expired waiting for volumes to attach or mount for pod "default"/"nginx-deployment-7886f48dcd-lzms8". list of unmounted volumes=[data]. list of unattached volumes=[data default-token-5q7kr]

1 Ответ

0 голосов
/ 08 июня 2018

Однако, если у меня более двух реплик, он не сможет создать второй PV

Тогда вам, вероятно, следует использовать StatefulSet и volumeClaimTemplates внутри него вместо Deployment и PersistentVolumeClaim.

В вашем случае каждое развертывание имеет один и тот же PersistentVolumeClaim (то есть ReadWriteOnly и не может быть подключен по второму запросу), в то время как с volumeClaimTemplates вы получаете различное по одному для каждогокопия.

...