服务器拒绝访问,无法将NFS挂载到Pod中。

3

我想把一个 NFS 挂载到我的 Kubernetes 容器中。

在我的本地机器上使用 Minikube,之前曾尝试使用 hostPath 卷,但是性能非常差(页面加载需要约 30 秒或更长时间)

我已经按照以下方式在我的 Mac 上设置了 NFS 服务器:

echo "/Users/my-name/share-folder -alldirs -mapall="$(id -u)":"$(id -g)" $(minikube ip)" | sudo tee -a /etc/exports && sudo nfsd restart

并使用以下方式验证:

showmount -e

这显示:
Exports list on localhost:
/Users/my-name/share-folder  192.168.xx.x

我已按以下方式设置/应用了一个持久卷:

我已设置/应用了一个持久卷:

apiVersion: v1
kind: PersistentVolume
metadata:
  name: default-sources-volume
spec:
  capacity:
    storage: 10Gi
  accessModes:
    - ReadWriteMany
  persistentVolumeReclaimPolicy: Retain
  storageClassName: standard
  nfs:
    server: 192.168.xx.x # Minikube gateway to host
    path: '/Users/my-name/share-folder'

我已设置/应用了一个持久化卷声明,如下所示:

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: sources-volume-claim
  namespace: default
spec:
  storageClassName: standard
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 10Gi

我可以在我的Kubernetes仪表板中看到persistentVolume和persistentVolumeClaim。它甚至说明persistentVolumeClaim已经绑定,但是...
当我通过kubectl命令应用我的更新的deployment.yaml文件时,我一直看到错误:
"default-sources-volume"卷的MountVolume.SetUp失败:挂载失败:退出状态32 挂载命令:systemd-run 挂载参数:--description=Kubernetes transient mount for /var/lib/kubelet/pods/f4b26fe1-9657-11e8-8f3d-e61688dc52f9/volumes/kubernetes.io~nfs/default-sources-volume --scope -- mount -t nfs 192.168.xx.x:/Users/my-name/share-folder /var/lib/kubelet/pods/f4b26fe1-9657-11e8-8f3d-e61688dc52f9/volumes/kubernetes.io~nfs/default-sources-volume 输出:Running scope as unit: run-r1b76b36ffcb1409284e308b11c729744.scope mount.nfs:挂载192.168.xx.x:/Users/my-name/share-folder时服务器拒绝访问。

NFS服务器返回访问被拒绝。尝试允许从0.0.0.0连接到NFS服务器。 - Akar
1
Het,感谢您的回复。我已经尝试允许所有IP,但没有成功。 - mattyh88
1个回答

1
请在您的“/etc/exports”中尝试以下内容:
/Users/my-name/share-folder *(rw,fsid=0,async,no_subtree_check,no_auth_nlm,insecure,no_root_squash) 然后执行以下命令:
sudo exportfs -a 我发现“insecure”是关键。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接