环境:阿里云集群
场景:在创建 pv,pvc 之后,通过 volumes
设置挂载卷名称,然后通过 volumeMounts
设置容器内挂载路径,成功运行之后进入到容器内在容器内挂载路径尝试使用 vim、cat
无法写文件。
bash-5.1$ cat >>test<<END
> aliyun
> END
bash: test: Permission denied
问题定位:由于一直提示没有权限,所以查询一下目录
drwxr-xr-x 2 1000 1000 4096 Oct 6 23:01 tcp-log
drwxr-xr-x 2 1000 1000 4096 Oct 6 23:01 udp-log
drwxr-xr-x 2 root root 4096 Oct 27 12:58 aut-log
drwxr-xr-x 2 1000 1000 4096 Oct 6 23:01 zipkin
然后就发现挂载目录变成了 root
用户权限,这里我并不清楚底层是如何实现的还是说只有阿里云集群是这样的。
解决办法:首先挂载不用修改,我们通过指定容器的用户来运行
securityContext:
runAsUser: 0
0
代表 root 用户的 ID
,更新 deployment
即可。