我刚刚使用Docker文件创建了图像,并且用于更改刚才使用的用户:
USER myuser
Run Code Online (Sandbox Code Playgroud)
我们使用目录来存储数据,我们使用以下命令更改该目录权限:
chown -R myuser:myuser /data-dir
Run Code Online (Sandbox Code Playgroud)
这个Docker文件用于etcd,我们希望etcd使用/ data-dir来存储数据.现在,我们使用kubernetes yml文件将/ data-dir映射到efs卷.
使用以下代码:
volumeMounts:
- name: etcdefs
mountPath: /data-dir
volumes:
- name: etcdefs
persistentVolumeClaim:
claimName: efs-etcd
Run Code Online (Sandbox Code Playgroud)
在此之后,我希望映射的目录/ data-dir应该具有myuser:myuser的权限,但它将目录设为root:root
任何人都可以在这里暗示我做错了吗?
有没有办法在 Kubernetes 中以声明方式设置每个卷的权限/所有权?
用例:
sudo我们知道我们可以使用fsGroup,但这是一个 pod 级别的声明。所以即使我们在第一个容器中选择 fsGroup 等于用户,那么我们也会在另一个容器中遇到权限问题。(参考:Kubernetes:如何设置 VolumeMount 用户组和文件权限)