linux - Kubernetes NFS 挂载权限
问题描述
将 NFS 文件夹挂载到 K8s POD 时,我的组访问权限有问题。在 pod 中创建文件时,NFS 服务器上的组的权限是只读的。
(A) 我尝试在 pod 上设置安全上下文:
securityContext:
runAsUser: 1000
runAsGroup: 1000
fsGroup: 1000
id (1000) 与 NFS 服务器上的组 id 相同。
(B) 我也尝试使用 initContainer 参数:
initContainers:
name: test
image: imagename
command: ["/bin/chmod","-R","660", "/data"]
使用这两种情况的解决方案,新创建的文件具有以下不可接受的权限:
-rw-r--r-- 1 1000 1000 test.txt
我已成功在 pod 中创建具有所需权限的文件:
-rw-rw-r-- 1 1000 1000 test.txt
仅当我在正在运行的 pod 上创建一个用户并在 NFS 服务器上使用相同的 ID 切换到它时。
解决方案
我建议您使用以下两种方法之一:修改安全上下文 securityContext:runAsGroup:65534 runAsUser:65534 方法 2:创建一个空目录并挂载它。这应该解决 - emptyDir: {} name: data 将其安装到某个卷 /data
推荐阅读
- python - 为 DB2 中的函数提取 DDL 时出错
- amazon-web-services - AWS如何在自动上传视频后触发媒体转换
- apache-spark - Spark operator vs spark submit - 如何选择使用哪一个?
- entity-framework-core - 将表值参数传递给 EF Core 查询
- javascript - 另一个项目中的 Firebase 身份验证
- typescript - 使用动态键在 Typescript 中动态创建对象,无需将类型扩展为 { [key: string]: T }
- blazor - 无法使用子目录直接访问 Azure 静态应用中托管的 Blazor WASM
- calculator - 需要创建 GPA 计算器才能在命令行中运行
- dependency-injection - 控制反转和深度依赖
- docker - 有谁知道如何通过 Puppet manifest 安装 docker 和 docker-compose