Minio server pod gets stuck in Pending STATUS
When Minio is deployed in distributed mode with dynamic storage allocation, the server pod might get stuck with status as Pending
.
Gather information about the issue
-
Get the list of pods.
kubectl get po
The following code is a sample output:
NAME READY STATUS RESTARTS AGE mc2 1/1 Running 54 2d minio-ibm-minio-objectstore-0 0/1 Pending 0 7s
-
Get pod description.
kubectl describe po minio-ibm-minio-objectstore-0
The following code is a sample output:
Name: minio-ibm-minio-objectstore-0 Namespace: default Priority: 0 PriorityClassName: <none> Node: <none> Labels: app=ibm-minio-objectstore chart=ibm-minio-objectstore-1.6.0 controller-revision-hash=minio-ibm-minio-objectstore-7b77fd5658 heritage=Tiller release=minio statefulset.kubernetes.io/pod-name=minio-ibm-minio-objectstore-0 ... Volumes: export: Type: PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace) ClaimName: export-minio-ibm-minio-objectstore-0 ReadOnly: false ... Events: Type Reason Age From Message ---- ------ ---- ---- ------- Warning FailedScheduling 14s (x25 over 57s) default-scheduler pod has unbound PersistentVolumeClaims (repeated 5 times)
The output indicates that the PVCs are unbound.
-
Describe the PVC.
kubectl describe pvc export-minio-ibm-minio-objectstore-0
The following code is a sample output:
Name: export-minio-ibm-minio-objectstore-0 Namespace: default StorageClass: standard Status: Pending Volume: Labels: app=ibm-minio-objectstore release=minio Annotations: <none> Finalizers: [kubernetes.io/pvc-protection] Capacity: Access Modes: Events: Type Reason Age From Message ---- ------ ---- ---- ------- Warning ProvisioningFailed 8s (x19 over 4m) persistentvolume-controller storageclass.storage.k8s.io "standard" not found
The output indicates that the persistence volume is trying to bind through the storage class named
standard
. Check whether the storage class exists in your cluster.kubectl get sc standard
The following code is a sample output:
No resources found. Error from server (NotFound): storageclasses.storage.k8s.io "standard" not found
The output indicates that the storage class does not exist.
Resolve the issue
To resolve the issue, complete the following steps:
- Install a suitable block storage, such as GlusterFS or Ceph, in your cluster.
- Ensure that the block storage has a storage class.
- Add the storage class in the Helm chart configuration.
- Deploy the Helm chart.