我试图在谷歌Kubernetes引擎上创建一个PersistentVolume和一个PersistentVolumeClaim。
链接它们的方式是通过labelSelector。我正在使用这个定义创建对象:
volume.yml
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv-test
namespace: mynamespace
labels:
pv-owner: owner
pv-usage: pv-test
spec:
accessModes:
- ReadWriteOnce
capacity:
storage: 1Gi
hostPath:
path: /data/test/
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pv-test
namespace: mynamespace
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
selector:
matchLabels:
pv-usage: pv-test
和运行:
kubectl apply -f volume.yml
这两个对象都成功创建了,然而,VolumeClaim显然一直处于挂起状态,等待一个与其要求匹配的卷。
你能帮帮我吗?
谢谢!
发布于 2018-05-31 17:24:00
首先,PersistentVolume
资源不属于任何名称空间。它们像节点一样是集群级别的资源,但是PersistentVolumeClaim
对象只能在特定的名称空间中创建。
看起来,当您之前创建声明时,它立即绑定到PersistentVolume
。您能显示以下命令的输出吗:
$ kubectl get pv
$ kubectl get pvc
您的persistentVolumeReclaimPolicy
很可能设置为Retain
,因此您的PersistentVolume
现在处于Released
状态。由于没有其他PersistenVolume
资源符合您的索赔要求,因此您的PersistentVolumeClaim
处于Pending
状态。
https://stackoverflow.com/questions/50620254
复制相似问题