用 k8s 1.20以上版本,通过 kubectl get pvc,发现 PVC一直处于 Pending 状态。通过kubectl describe pvc [pvc名称]描述,
发现如下错误:Waiting for a volume to be created either by the external provisioner 'fuseim.pri/ifs' or manually by the system administrator.
原因:在 k8s 1.20 之后,出于对性能和统一 apiserver 调用方式的初衷,k8s 移除了对 SelfLink 的支持,而默认上面指定的 provisioner 版本需要 SelfLink 功能,因此 PVC 无法进行自动制备
原始解决办法:
1.启用SelfLink
kube-apiserver.yaml 新增:–feature-gates=RemoveSelfLink=false
2.使用不需要SelfLink的provisioner
比如:
registry.cn-beijing.aliyuncs.com/pylixm/nfs-subdir-external-provisioner:v4.0.0
gcr.io/k8s-staging-sig-storage/nfs-subdir-external-provisioner:v4.0.0
但是很坑,这两种都不行!!!!!!!!!
目前解决办法
1.由于现在镜像源都被ban了网上随便找个nfs-subdir-external-provisioner镜像源
我这里随便找了个版本nfs-subdir-