Kubernetes динамический PV с AWS в ожидании

Я создаю redis-кластер на кубе с постоянным томом aws-gp2. Я использовал Redis-cluster.yml

Я создал класс хранения в соответствии с этим документом, для динамического создания тома персистентности

Это моё определение Storage Class

    kind: StorageClass
    apiVersion: storage.k8s.io/v1
    metadata:
      name: aws-gp2
    provisioner: kubernetes.io/aws-ebs
    parameters:
      type: gp2
      zones: us-west-2a, us-west-2b, us-west-2c
      fsType: ext4
    reclaimPolicy: Retain
    allowVolumeExpansion: true

Когда я пытаюсь создать кластер том создания застрял на pending состояние, после проверки логов нашел это

  $ kubectl -n staging describe pvc data-redis-cluster-0
  Name:          data-redis-cluster-0
  Namespace:     staging
  StorageClass:
  Status:        Pending
  Volume:
  Labels:        app=redis-cluster
  Annotations:   <none>
  Finalizers:    [kubernetes.io/pvc-protection]
  Capacity:
  Access Modes:
  Events:
    Type    Reason         Age                From                         Message
    ----    ------         ----               ----                         -------
    Normal  FailedBinding  13s (x11 over 2m)  persistentvolume-controller  no persistent volumes available for this claim and no storage class is set

и события

    $ kubectl -n staging get events
    LAST SEEN   FIRST SEEN   COUNT     NAME                                    KIND                    SUBOBJECT   TYPE      REASON             SOURCE                        MESSAGE
    10s         10s          1         redis-cluster.15816c6dc1d6c03a          StatefulSet                         Normal    SuccessfulCreate   statefulset-controller        create Claim data-redis-cluster-0 Pod redis-cluster-0 in StatefulSet redis-cluster success
    10s         10s          1         redis-cluster.15816c6dc2226fe0          StatefulSet                         Normal    SuccessfulCreate   statefulset-controller        create Pod redis-cluster-0 in StatefulSet redis-cluster successful
    8s          10s          3         data-redis-cluster-0.15816c6dc1dfd0cb   PersistentVolumeClaim               Normal    FailedBinding      persistentvolume-controller   no persistent volumes available for this claim and no storage class is set
    3s          10s          5         redis-cluster-0.15816c6dc229258d        Pod                                 Warning   FailedScheduling   default-scheduler             pod has unbound PersistentVolumeClaims (repeated 4 times)

кто-то укажет что тут не так?

1 ответ

Поскольку кластер не имеет значения по умолчанию StorageClassЯ должен был добавить storageClassName: aws-gp2 в volumeClaimTemplates, который помог мне решить эту проблему

как это

  volumeClaimTemplates:
  - metadata:
      namespace: staging
      name: data
      labels:
        name: redis-cluster
    spec:
      accessModes: [ "ReadWriteOnce" ]
      storageClassName: aws-gp2
      resources:
        requests:
          storage: 100Mi
Другие вопросы по тегам