Networking 当从VM执行请求时,NFS服务器拒绝连接

Networking 当从VM执行请求时,NFS服务器拒绝连接,networking,nfs,minikube,Networking,Nfs,Minikube,我想这是一个典型的网络问题,但我不知道我做错了什么 我设置了一个NFS服务器来接受来自任何地方的连接:/test*(rw、sync、no_子树检查) 我在ufw中允许NFS连接:ufw允许NFS 我检查了是否可以在我的计算机上装载:mount-tfs:/test。它起作用了 但是当我尝试在VM(由minikube创建)中运行相同的命令时,命令超时。为什么??? 在虚拟机中,我检查了: 我可以ping NFS服务器 我可以卷曲端口2049(我得到错误56,但至少我知道请求通过了防火墙) 以

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

  • 我设置了一个NFS服务器来接受来自任何地方的连接:
    /test*(rw、sync、no_子树检查)
  • 我在ufw中允许NFS连接:
    ufw允许NFS
  • 我检查了是否可以在我的计算机上装载:
    mount-tfs:/test
    。它起作用了
但是当我尝试在VM(由minikube创建)中运行相同的命令时,命令超时。为什么???
在虚拟机中,我检查了:

  • 我可以ping NFS服务器
  • 我可以卷曲端口2049(我得到错误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 
mkdir-p/test
chown nobody:无组/测试
chmod 777/试验
echo“/test*(rw、同步、无子树检查)”>>/etc/exports
exportfs-a
systemctl重新启动nfs内核服务器
ufw允许nfs
minikube启动
minikube ssh mkdir-p/myTest&&sudo mount-tfs:/test/myTest

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

$ echo "/Users -alldirs -mapall="$(id -u)":"$(id -g)" <minikube-ip>"| sudo tee -a /etc/exports
然后,我们需要定义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/
apiVersion:v1 种类:PersistentVolume 元数据: 名称:测试nfs 规格: 容量: 储存量:8Gi 访问模式: -读写 PersistentVolumeClaIncolicy:保留 storageClassName:标准 nfs: 服务器: 路径:/Users/Shared/Sites/ 我们可以看到,它已经使用我们之前导出的NFS路径创建了卷

$ 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> 
$kubectl获得pv-o宽
名称容量访问模式回收策略状态声明存储类原因期限
测试nfs 8Gi RWX是否保留可用的标准7s
$kubectl描述pv测试nfs
名称:测试nfs
标签:
注释:
StorageClass:标准
状态:可用
索赔:
回收策略:保留
访问模式:RWX
容量:8Gi
信息:
资料来源:
类型:NFS(在pod的生命周期内持续的NFS装载)
服务器:
路径:/Users/Shared/Sites/
只读:false
活动:

我鼓励您阅读其中解释了何时应该使用NFS。我希望它能对您有所帮助。

您能在帖子中列出您使用过的所有命令吗?我更新了问题,将它们包括在内。请投票/接受答案,让社区了解其有用性,谢谢!很抱歉,您的回答给出了获取基于NFS的卷的方法(我还没有测试),但没有指出为什么我这样做不起作用。
$ 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>