title: Kubernetes - pod has unbound immediate PersistentVolumeClaims
body: <p>I'm using mysql Kubernetes statefulset, i mapped PVs to host directory (CentOS 8 VM) but getting " pod has unbound immediate PersistentVolumeClaims"</p>
  
  <pre><code>apiVersion: apps/v1
  kind: StatefulSet
  metadata:
    name: mysql-container
  spec:
    serviceName: mysql
    replicas: 1 
    selector:
      matchLabels:
        app: mysql-container
    template:
      metadata:
        labels:
          app: mysql-container
      spec:
        containers:
        - name: mysql-container
          image: mysql:dev
          imagePullPolicy: "IfNotPresent"
          envFrom:
            - secretRef:
               name: prod-secrets
          ports:
          - containerPort: 3306
           # container (pod) path
          volumeMounts:
            - name: mysql-persistent-storage
              mountPath: /var/lib/mysql
  
  
        volumes:
          - name: mysql-persistent-storage
            persistentVolumeClaim:
             claimName: mysql-pvc
   volumeClaimTemplates:
      - metadata:
          name: data
        spec:
  
          storageClassName: localstorage
          accessModes: ["ReadWriteOnce"]
          resources:
            requests:
              storage: 3Gi
          selector:
             matchLabels:
              type: local
  </code></pre>
  
  <p>Storage class is defaulr and no events in PV</p>
  
  <pre><code>apiVersion: storage.k8s.io/v1
  kind: StorageClass
  metadata:
  
    name: localstorage
  
  provisioner: kubernetes.io/no-provisioner
  volumeBindingMode: Immediate
  reclaimPolicy: Delete
  allowVolumeExpansion: True
  
  
  kind: PersistentVolume
  apiVersion: v1
  metadata:
    name: mysql-01
    labels:
      type: local
  spec:
    storageClassName: localstorage
    capacity:
      storage: 10Gi
    accessModes:
      - ReadWriteOnce
    hostPath:
      path: "/mnt/mysql01"
  
  ---
  kind: PersistentVolume
  apiVersion: v1
  metadata:
    name: mysql-02
    labels:
      type: local
  spec:
    storageClassName: localstorage
    capacity:
      storage: 10Gi
    accessModes:
      - ReadWriteOnce
    hostPath:
      path: "/mnt/mysql02"
  </code></pre>
  
  <p>Storage class is default one</p>
  
  <pre><code>get sc
  NAME                     PROVISIONER                    RECLAIMPOLICY   VOLUMEBINDINGMODE   ALLOWVOLUMEEXPANSION   AGE
  localstorage (default)   kubernetes.io/no-provisioner   Delete          Immediate           true                   35m
  </code></pre>
  
  <p>PVC also shows no events:</p>
  
  <pre><code>    Name:          data-mysql-0
      Namespace:     default
      StorageClass:  localstorage
      Status:        Pending
      Volume:        mysql-storage
      Labels:        app=mysql
      Annotations:   &lt;none&gt;
      Finalizers:    [kubernetes.io/pvc-protection]
      Capacity:      0
      Access Modes:
      VolumeMode:    Filesystem
      Mounted By:    mysql-0
      Events:        &lt;none&gt;
  
  
  Name:            mysql-01
  Labels:          type=local
  Annotations:     kubectl.kubernetes.io/last-applied-configuration:
                     {"apiVersion":"v1","kind":"PersistentVolume","metadata":{"annotations":{},"labels":{"type":"local"},"name":"mysql-01"},"spec":{"accessMode...
  Finalizers:      [kubernetes.io/pv-protection]
  StorageClass:    localstorage
  Status:          Available
  Claim:
  Reclaim Policy:  Retain
  Access Modes:    RWO
  VolumeMode:      Filesystem
  Capacity:        10Gi
  Node Affinity:   &lt;none&gt;
  Message:
  Source:
      Type:          HostPath (bare host directory volume)
      Path:          /mnt/mysql01
      HostPathType:
  Events:            &lt;none&gt;
  
  
  Name:            mysql-02
  Labels:          type=local
  Annotations:     kubectl.kubernetes.io/last-applied-configuration:
                     {"apiVersion":"v1","kind":"PersistentVolume","metadata":{"annotations":{},"labels":{"type":"local"},"name":"mysql-02"},"spec":{"accessMode...
  Finalizers:      [kubernetes.io/pv-protection]
  StorageClass:    localstorage
  Status:          Available
  Claim:
  Reclaim Policy:  Retain
  Access Modes:    RWO
  VolumeMode:      Filesystem
  Capacity:        10Gi
  Node Affinity:   &lt;none&gt;
  Message:
  Source:
      Type:          HostPath (bare host directory volume)
      Path:          /mnt/mysql02
      HostPathType:
  Events:            &lt;none&gt;
  </code></pre>
  
  <p>Pod is in pending state:</p>
  
  <pre><code>&gt;       Events:
  &gt;          Type     Reason            Age                From               Message
  &gt;          ----     ------            ----               ----               -------
  &gt;          Warning  FailedScheduling  27s (x2 over 27s)  default-scheduler  error while running &gt;"VolumeBinding" filter plugin for pod "mysql-0": pod has unbound immediate PersistentVolumeClaims
  </code></pre>
  
  <blockquote>
    <p>Can someone point out what else should be done here, thanks</p>
  </blockquote>