Kubernetes NFS PersistentVolumeClaim的状态有待处理
问题描述:
我试图将我的Kubernetes集群配置为使用本地NFS服务器来存储持久卷。Kubernetes NFS PersistentVolumeClaim的状态有待处理
我成立了PersistentVolume如下:
apiVersion: v1
kind: PersistentVolume
metadata:
name: hq-storage-u4
namespace: my-ns
spec:
capacity:
storage: 10Ti
accessModes:
- ReadWriteMany
persistentVolumeReclaimPolicy: Retain
nfs:
path: /data/u4
server: 10.30.136.79
readOnly: false
光伏看起来不错的kubectl
$ kubectl get pv
NAME CAPACITY ACCESSMODES RECLAIMPOLICY STATUS CLAIM STORAGECLASS REASON AGE
hq-storage-u4 10Ti RWX Retain Released my-ns/pv-50g 49m
然后我尝试创建PersistentVolumeClaim:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pvc-50gb
namespace: my-ns
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 5Gi
Kubectl显示pvc状态为待定
$ kubectl get pvc
NAME STATUS VOLUME CAPACITY ACCESSMODES STORAGECLASS AGE
pvc-50gb Pending 16m
当我尝试将卷添加到部署,我得到的错误:
[SchedulerPredicates failed due to PersistentVolumeClaim is not bound: "pvc-50gb", which is unexpected., SchedulerPredicates failed due to PersistentVolumeClaim is not bound: "pvc-50gb", which is unexpected., SchedulerPredicates failed due to PersistentVolumeClaim is not bound: "pvc-50gb", which is unexpected.]
如何我得到的PVC到工作状态?
答
原来,我需要把IP(我也把路径)放在引号中。修复之后,pvc进入状态绑定状态,并且可以正确安装吊舱。
答
我无法对您的帖子发表评论,所以我只会尝试回答这个问题。
当PVC在我的NFS群集上不起作用时,我遇到了2种错误。安装一个PV通常会成功,所以提供的状态信息并不多。
- PV和PVC的注释和规格是不一样的。这看起来并非如此。
- 使用NFS资源的窗格的节点无法安装资源。在应该挂载NFS资源的节点上尝试
mount -t nfs 10.30.136.79:/data/u4 /mnt
。这应该成功。如果失败,可能是- 缺少装载权限。在您的NFS服务器中更正
/etc/exports
。 - 阻止NFS端口的防火墙。修复防火墙。
- 缺少装载权限。在您的NFS服务器中更正
还有一件事,在盒中的非特权用户可能有麻烦写NFS资源。 pod中的NFS用户的uid/gid必须与NFS资源的perms匹配。
Bonne的机会!
+0
我能够直接在服务器上安装NFS共享,因此它不是一个权限或网络问题。当我创建pvc时,我在服务器上做了一个tcpdump,并且没有看到来自任何K8服务器的任何连接,所以它们甚至不尝试建立连接。 – zoidberg
试试'kubectl describe pvc pvc-50gb'并检查'Events'部分。 – ipeacocks