我正在尝试将我的Kubernetes集群配置为使用本地NFS服务器来存储持久卷。
我按如下方式设置了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
PV在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进入工作状态?
答案 0 :(得分:1)
原来我需要把IP(我也把路径)放在引号中。修复之后,pvc进入状态Bound,并且pod可以正确安装。
答案 1 :(得分:0)
我无法对您的帖子发表评论,所以我只是试图回答这个问题。
当我的NFS群集上的PVC无法正常工作时,我遇到了两种错误。安装PV通常会成功,因此提供的状态信息并不多见。
mount -t nfs 10.30.136.79:/data/u4 /mnt
。这应该成功。如果失败了,那可能就是
/etc/exports
。还有一件事,pod中的非特权用户可能无法写入NFS资源。 pod中NFS用户的uid / gid必须与NFS资源的perms相匹配。
Bonne chance!