无法将我的 Mac PC 上的 NFS 共享挂载到 minikube 集群

cannot mount NFS share on my Mac PC to minikube cluster

问题

为了制作 k8s 多节点开发环境,我试图在多节点的 minikube 中使用 NFS 持久卷,但无法 运行 pods 正确。 NFS 设置似乎有问题。所以我 运行 minikube ssh 并尝试首先通过 mount 命令手动挂载 nfs 卷,但它不起作用,这让我来到这里。

当我运行

sudo mount -t nfs 192.168.xx.xx(=macpc's IP):/PATH/TO/EXPORTED/DIR/ON/MACPC /PATH/TO/MOUNT/POINT/IN/MINIKUBE/NODE

在minikube主节点中,输出为

mount.nfs: requested NFS version or transport protocol is not supported

一些相关信息是

NFS 客户端:minikube 节点

NFS 服务器:我的 Mac PC

minikube 驱动程序:docker

集群包含 3 个节点。 (1 个主节点和 2 个工作节点)

目前集群中没有k8s资源(deployment、pv、pvc等)

minikube 节点的 os 是 Ubuntu 所以我猜“nfs-utils”不相关,也没有安装。 “nfs-common”已预装在 minikube 中。

请参阅以下部分了解更多详情。

目标

目标是 mount minikube 节点中的 cmd 成功并且我的 Mac 电脑上的 nfs 共享正确安装。

到目前为止我所做的

在 NFS 服务器端,

在 mac 台电脑上创建了 /etc/exports 文件。内容如

/PATH/TO/EXPORTED/DIR/ON/MACPC -mapall=user:group 192.168.xx.xx(=the output of "minikube ip")

和 运行 nfsd update 然后 showmount -e cmd 输出

Exports list on localhost:
/PATH/TO/EXPORTED/DIR/ON/MACPC 192.168.xx.xx(=the output of "minikube ip")

rpcinfo -p 显示rpcbind(=portmapper in linux), status, nlockmgr, rquotad, nfs, mountd 都在tcp 和udp

ping 192.168.xx.xx(=the output of "minikube ip")

Request timeout for icmp_seq 0
Request timeout for icmp_seq 1
Request timeout for icmp_seq 2
and continues

看来我无法从 host 连接到 minikube。

在 NFS 客户端,

在所有 minikube 节点中使用 systemctl cmd 启动了 nfs-common 和 rpcbind 服务。通过 运行ning sudo systemctl status rpcbindsudo systemctl status nfs-common,我确认 rpcbind 和 nfs-common 是 运行ning.

minikube ssh输出

Last login: Mon Mar 28 09:18:38 2022 from 192.168.xx.xx(=I guess my macpc's IP seen from minikube cluster)

所以我运行

sudo mount -t nfs 192.168.xx.xx(=macpc's IP):/PATH/TO/EXPORTED/DIR/ON/MACPC /PATH/TO/MOUNT/POINT/IN/MINIKUBE/NODE

在 minikube 主节点中。 输出是

mount.nfs: requested NFS version or transport protocol is not supported

rpcinfo -p 仅显示端口映射器,状态为 运行ning。我不确定这样可以。

ping 192.168.xx.xx(=macpc's IP) 正常工作。

ping host.minikube.internal 正常工作。

nc -vz 192.168.xx.xx(=macpc's IP) 2049 输出 connection refused

nc -vz host.minikube.internal 2049 输出 succeeded!

提前致谢!

我决定改用另一种类型的卷。