Kubernetes容器访问NFS挂载目录报权限拒绝的问题排查及根因
权限拒绝报错排查:NFS挂载目录访问异常的非权限根因
问题场景
通过Rancher配置Kubernetes集群,基于NFS存储类定义PV,将NFS目录/nfs-share/myapp/data挂载至容器内/apps/data/路径。应用配置在该路径创建临时文件时,访问/apps/data/myfolder报错权限拒绝,但切换到容器内/apps/option/目录时可正常访问。
排查过程中收集的信息
容器内目录权限信息
/apps目录权限:
$ ls -lrt /apps drwxrwxrwx. 8 nobody nobody 238 Sep 4 2023 data
/apps/data/及子目录权限:
$ ls -lrt /apps/data/ drwxr-xr-x. 2 1000 nobody 4.0K Oct 2 03:13 myfolder
- 可正常访问的
/apps/option目录及文件权限:
$ ls -lrht /apps drwxr-xr-x. 10 1000 appuser 4096 Oct 6 23:08 option
$ ls -lrht /apps/option total 2M -rw-r--r--. 1 1000 appuser 1.1K Oct 2 19:04 startupscript.sh -rw-r--r--. 1 1000 appuser 10K Oct 2 19:16 version.txt
Pod安全上下文配置
securityContext: capabilities: drop: - ALL runAsUser: 1000 runAsNonRoot: true
容器内用户及组信息
- 当前用户ID:
$ id uid=1000 gid=0(root) groups=0(root)
- 容器内组列表:
$ getent group root:x:0: ... nobody:x:65534: appuser:x:1001:
根因与解决方法
最初疑惑为何UID为1000的用户能访问/apps/option却无法访问/apps/data/myfolder,排查后发现实际根因是NFS存储对应的磁盘空间不足,释放该磁盘空间后,应用可正常访问/apps/data/myfolder并创建临时文件。
内容的提问来源于stack exchange,提问作者Tim
相关产品推荐
相关产品推荐

