Почему статус VolumeClaimTemplates для K8S statefulsets имеет значение Pending, но с pod, pvc, pv все в порядке?

Почему статус VolumeClaimTemplates для K8S statefulsets имеет значение Pending, но с pod, pvc, pv все в порядке?

Я использую nfs-subdir-external-provisioner как автоматический pv provisioner для моих promethues (by promethues-operator ). Я успешно создал наши sts, pod, pvc, pv и все выглядит нормально. Но если я использую kubectl get sts -o yaml , статус все еще "phase: Pending"... Есть ли у кого-нибудь идеи по этому поводу?

  volumeClaimTemplates:
  - apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      creationTimestamp: null
      name: prometheus-k8s-db
    spec:
      accessModes:
      - ReadWriteOnce
      resources:
        requests:
          storage: 5Gi
      storageClassName: managed-nfs-storage
      volumeMode: Filesystem
    status:
      phase: Pending
NAME             READY   AGE
prometheus-k8s   2/2     26m
NAME                                   READY   STATUS    RESTARTS   AGE
prometheus-k8s-0                       2/2     Running   0          28m
prometheus-k8s-1                       2/2     Running   0          28m

NAME                                 STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS          AGE
prometheus-k8s-db-prometheus-k8s-0   Bound    pvc-77c8035e-fe32-4c0d-8302-930b39979fc1   5Gi        RWO            managed-nfs-storage   3h57m
prometheus-k8s-db-prometheus-k8s-1   Bound    pvc-21989d64-cc89-4aed-bed5-30bd22c0ae35   5Gi        RWO            managed-nfs-storage   3h57m

решение1

Потому что это часть поля spec. Оно не отражает никакого реального статуса, а просто предоставляет информацию о том, как должен быть создан новый pvc. Это не перейдет ни в какое другое состояние, никогда.

Связанный контент