【发布时间】:2021-08-11 11:09:20
【问题描述】:
我的 PersistentVolumeClaim 不会使用我为其准备的 PersistentVolume。
我在monitoring-pv.yaml 中有这个PersistentVolume
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
我在monitoring-pvc.yaml 中的PersistentVolumeClaim 看起来像这样:
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 时,它会被创建。
我可以用get pvc -n monitoring查看我的新PersistentVolumeClaim,我明白了
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
monitoring-claim Pending manual 31s
当我用kubectl get pv 查看我的PersistentVolume 时,我可以看到它仍然可用:
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 上使用 minikube。
我需要更改哪些内容才能将卷与声明连接起来?
【问题讨论】:
标签: kubernetes