我google了很多,发现了一些类似的案例。但是,它们都不适用于我的情况。不确定它是否与Mac有关。
我会尽量清楚地描述我的问题。
- 我使用 KIND 运行具有 3 个节点的本地 Kubernetes 集群。
/data/k8s
我在本地 MacOS的主节点中挂载了一个卷/tmp/k8s
- 我在主节点上创建 NFS 服务器,导出
/data/k8s
- 我还在从节点上安装 NFS 作为 NFS 客户端,并将主节点安装
/data/k8s
到我的从节点本地/data/k8s
这是问题所在:
- 在主节点上一切正常,没问题。
- 在从节点上,我
CANNOT
创建一个常规文件,而我可以创建一个文件夹 - 在从节点上,我
CAN
修改在主节点上创建的所有文件 - 在主节点上创建的任何文件都会在从节点上同步而不会出现问题。
这是一些信息:
- 操作系统(主从都相同)
NAME="Ubuntu"
VERSION="19.10 (Eoan Ermine)"
ID=ubuntu
ID_LIKE=debian
- 主节点上的挂载信息(该空间最初是从主机 MacOS 挂载的)
root@test2-control-plane:/data/k8s# mount | grep /data
grpcfuse on /data/k8s type fuse.grpcfuse (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other,max_read=1048576)
- 主节点上的导出设置
/data/k8s/ *(fsid=0,rw,sync,no_root_squash)
- 主节点的etab信息
*(rw,sync,wdelay,hide,nocrossmnt,secure,no_root_squash,no_all_squash,no_subtree_check,secure_locks,acl,no_pnfs,fsid=0,anonuid=65534,anongid=65534,sec=sys,rw,secure,no_root_squash,no_all_squash)
- 主节点权限信息
root@test2-control-plane:/data/k8s# ls -al
total 24
drwxrwxrwx 7 root root 224 Dec 25 01:50 .
drwxrwxrwx 3 root root 4096 Dec 24 12:33 ..
- 从节点挂载信息
root@test2-worker:/data/k8s# mount | grep /data
172.18.0.4:/data/k8s on /data/k8s type nfs (rw,relatime,vers=3,rsize=262144,wsize=262144,namlen=255,hard,nolock,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=172.18.0.4,mountvers=3,mountport=45257,mountproto=udp,local_lock=all,addr=172.18.0.4)
- 从节点的权限信息
root@test2-worker:/data/k8s# ls -al
total 24
drwxrwxrwx 8 root root 256 Dec 25 02:17 .
drwxrwxrwx 3 root root 4096 Dec 24 13:23 ..
- 我试过的:
- 我检查了 SELinux
root@test2-control-plane:/data/k8s# sestatus SELinux status: disabled
- 我尝试添加
all_squash
和添加特定用户,并在主节点和从节点上定义具有相同 user_id 和 group_id 的用户anonuid
。anongid
然后切换到我的从节点上定义的用户。 - 尝试了很多,我都记不住了。
我知道这可能是一个特定的案例。如果有人可以提供帮助,将不胜感激。