【问题标题】:NFS server refuses connection when request performed from VM从 VM 执行请求时 NFS 服务器拒绝连接
【发布时间】:2020-01-05 07:24:49
【问题描述】:

我猜这是一个典型的网络问题,但我不知道我做错了什么。

  • 我设置了一个 NFS 服务器来接受来自任何地方的连接:/test *(rw,sync,no_subtree_check)
  • 我在 ufw 中允许 NFS 连接:ufw allow nfs
  • 我检查了我可以安装在我的电脑上:mount -t nfs <server_IP>:/test。它有效。

但是当我尝试在 VM(由 minikube 创建)中运行相同的命令时,命令超时。为什么???
在虚拟机中,我检查了:

  • 我可以 ping NFS 服务器
  • 我可以 curl 端口 2049(我得到 err 56,但至少我知道请求通过了防火墙)。

这是我以 root 身份运行的命令列表:

mkdir -p /test
chown nobody:nogroup /test
chmod 777 /test
echo "/test *(rw,sync,no_subtree_check)" >> /etc/exports
exportfs -a
systemctl restart nfs-kernel-server
ufw allow nfs
minikube start
minikube ssh mkdir -p /myTest && sudo mount -t nfs <myIp>:/test /myTest 

【问题讨论】:

  • 您能在帖子中列出您使用过的所有命令吗?
  • 我更新了问题以包含它们。
  • 请点赞/接受答案,让社区知道它的用处,谢谢!
  • 抱歉,您的回答提供了获取基于 NFS 的卷的方法(我没有测试过),但没有指出为什么我的方法不起作用。

标签: networking nfs minikube


【解决方案1】:

首先,我们需要将 NFS 配置为卷的后端,而不是默认主机(minikube 目录)。键入此命令以导出 NFS 共享:

$ echo "/Users -alldirs -mapall="$(id -u)":"$(id -g)" <minikube-ip>"| sudo tee -a /etc/exports

minikube-ip 需要换成你的实际 IP 地址,你可以通过输入以下命令来检查:

$ minikube ip

然后,我们需要定义 yaml 文件来创建 NFS 卷。

apiVersion: v1
kind: PersistentVolume
metadata:
  name: test-nfs
spec:
  capacity:
    storage: 8Gi
  accessModes:
  - ReadWriteMany
  persistentVolumeReclaimPolicy: Retain
  storageClassName: standard
  nfs:
    server: <minikube-ip>
    path: /Users/Shared/Sites/

我们可以看到它已经使用我们之前导出的 NFS 路径创建了 Volume。

$ kubectl get pv -o wide
NAME       CAPACITY  ACCESS MODES  RECLAIM POLICY   STATUS      CLAIM     STORAGECLASS   REASON    AGE
test-nfs   8Gi       RWX           Retain           Available             standard                 7s   

$ kubectl describe pv test-nfs
Name:            test-nfs
Labels:          <none>
Annotations:     <none>
StorageClass:    standard
Status:          Available
Claim:
Reclaim Policy:  Retain
Access Modes:    RWX
Capacity:        8Gi
Message:
Source:
    Type:      NFS (an NFS mount that lasts the lifetime of a pod)
    Server:    <minikube-ip>
    Path:      /Users/Shared/Sites/
    ReadOnly:  false
Events:        <none> 

我鼓励您阅读this article,它解释了我们应该何时使用 NFS。希望对你有帮助。

【讨论】:

    猜你喜欢
    • 2023-03-27
    • 1970-01-01
    • 2017-02-23
    • 2013-08-02
    • 1970-01-01
    • 1970-01-01
    • 2016-06-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多