<p>I specified:</p>

<h3>This is Deployment:</h3>

<pre><code>apiVersion: apps/v1beta1
kind: Deployment
         ...
          volumeMounts:
            - name: volumepath
              mountPath: /data
          ports:
            - containerPort: 9200
              name: http
              protocol: TCP
      volumes:
        - name: volumepath
          persistentVolumeClaim:
          claimName: pv-delay-bind
</code></pre>

<h3>This is persistentvolume:</h3>

<pre><code>apiVersion: v1
kind: PersistentVolume
metadata:
  name: pv-delay-bind
spec:
  accessModes:
  - ReadWriteOnce
  capacity:
    storage: 10Gi
  hostPath:
    path: /data/
    type: DirectoryOrCreate
  storageClassName: default1a
</code></pre>

<p>A <a href="https://kubernetes.io/docs/concepts/storage/persistent-volumes/" rel="nofollow noreferrer">Persistent Volume</a> is different from a <a href="https://kubernetes.io/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims" rel="nofollow noreferrer">Persistent Volume Claim</a>. Typically, when you use persistent volume claim you are using <a href="https://kubernetes.io/docs/concepts/storage/dynamic-provisioning/#using-dynamic-provisioning" rel="nofollow noreferrer">dynamic</a> provisioning. </p>

<p>So you would need to define the persistent volume claim first and the volume should be created automatically.</p>

<p>First, delete your volume if you don't need it.</p>

<pre><code>$ kubectl delete volume pv-delay-bind
</code></pre>

<p>Then create the claim:</p>

<pre><code>$ echo '
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: pv-delay-bind
spec:
  accessModes:
  - ReadWriteOnce
  capacity:
    storage: 10Gi
  storageClassName: default1a' | kubectl apply -f - 
</code></pre>
