Мой PersistentVolumeClaim не будет использовать PersistentVolume, который я для него подготовил.
У меня есть PersistentVolume
в monitoring-pv.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
name: monitoring-volume
labels:
usage: monitoring
spec:
capacity:
storage: 50Gi
accessModes:
- ReadWriteOnce
hostPath:
path: /data/k8data/monitoring
После того, как я сделал
kubectl apply -f monitoring-pv.yaml
Я могу проверить, что он существует с kubectl get pv
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
monitoring-volume 50Gi RWO Retain Available 5m
Мой PersistentVolumeClaim
в monitoring-pvc.yaml
выглядит так:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: monitoring-claim
namespace: monitoring
spec:
storageClassName: manual
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 50Gi
selector:
matchLabels:
usage: monitoring
Когда я делаю kubectl apply -f monitoring-pvc.yaml
, он создается.
Я могу посмотреть на свой новый PersistentVolumeClaim
с get pvc -n monitoring
, и я вижу
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
monitoring-claim Pending manual 31s
Когда я смотрю на PersistentVolume
с kubectl get pv
, я вижу, что он все еще доступен:
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
monitoring-volume 50Gi RWO Retain Available 16m
Я ожидал, что PersistentVolume
будет Bound
, но это не так. Когда я использую «PersistentVolumeClaim» с таким же именем, как это, создается новый PersistentVolumeClaim
, который записывается в /tmp
и, следовательно, не очень постоянный.
Когда я делаю те же операции без пространства имен для моего PersistentVolumeClaim
, кажется, все работает.
Я на миникубе на Ubuntu 18.04.
Что мне нужно изменить, чтобы подключить том к заявке?