Rabbitmq pod stuck in pending state

4/25/2021

I tries running rabbitmq following the book Kubernetes for developers (page 180): rabbitmq.yml

---
# EXPORT SERVICE INTERFACE
kind: Service
apiVersion: v1
metadata:
    name: message-queue
    labels:
      app: rabbitmq
      role: master
      tier: queue
spec:
  ports:
  - port: 5672
    targetPort: 5672
  selector:
      app: rabbitmq
      role: master
      tier: queue
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: rabbitmq-pv-claim
  labels:
    app: rabbitmq
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 1Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: rabbitmq
spec:
  replicas: 1
  selector:
    matchLabels:
      app: rabbitmq
      role: master
      tier: queue
  template:
    metadata:
      labels:
         app: rabbitmq
         role: master
         tier: queue
    spec:
      containers:
      - name: rabbitmq
        image: bitnami/rabbitmq:3.7
        envFrom:
        - configMapRef:
            name: bitnami-rabbitmq-config
        ports:
        - name: queue
          containerPort: 5672
        - name: queue-mgmt
          containerPort: 15672
        livenessProbe:
          exec:
            command:
            - rabbitmqctl
            - status
          initialDelaySeconds: 120
          timeoutSeconds: 5
          failureThreshold: 6
        readinessProbe:
          exec:
            command:
            - rabbitmqctl
            - status
          initialDelaySeconds: 10
          timeoutSeconds: 3
          periodSeconds: 5
        volumeMounts:
        - name: rabbitmq-storage
          mountPath: /bitnami
      volumes:
      - name: rabbitmq-storage
        persistentVolumeClaim:
          claimName: rabbitmq-pv-claim

# kubectl describe pod rabbitmq-5499d4b67d-cdlb8
Name:           rabbitmq-5499d4b67d-cdlb8
Namespace:      default
Priority:       0
Node:           <none>
Labels:         app=rabbitmq
                pod-template-hash=5499d4b67d
                role=master
                tier=queue
Annotations:    <none>
Status:         Pending
IP:             
IPs:            <none>
Controlled By:  ReplicaSet/rabbitmq-5499d4b67d
Containers:
  rabbitmq:
    Image:       bitnami/rabbitmq:3.7
    Ports:       5672/TCP, 15672/TCP
    Host Ports:  0/TCP, 0/TCP
    Liveness:    exec [rabbitmqctl status] delay=120s timeout=5s period=10s #success=1 #failure=6
    Readiness:   exec [rabbitmqctl status] delay=10s timeout=3s period=5s #success=1 #failure=3
    Environment Variables from:
      bitnami-rabbitmq-config  ConfigMap  Optional: false
    Environment:               <none>
    Mounts:
      /bitnami from rabbitmq-storage (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-xh899 (ro)
Conditions:
  Type           Status
  PodScheduled   False 
Volumes:
  rabbitmq-storage:
    Type:       PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace)
    ClaimName:  rabbitmq-pv-claim
    ReadOnly:   false
  default-token-xh899:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  default-token-xh899
    Optional:    false
QoS Class:       BestEffort
Node-Selectors:  <none>
Tolerations:     node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
                 node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
  Type     Reason            Age                 From               Message
  ----     ------            ----                ----               -------
  Warning  FailedScheduling  28s (x13 over 12m)  default-scheduler  0/3 nodes are available: 3 pod has unbound immediate PersistentVolumeClaims.
-- Ciasto piekarz
kubernetes

1 Answer

4/25/2021

0/3 nodes are available: 3 pod has unbound immediate PersistentVolumeClaims.

The pod cannot be scheduled because the PVC that it is using is not "bound". You need to investigate why the PVC is not bound, something related to the storage system that you use.

-- Jonas
Source: StackOverflow