Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes 卷写入权限_Kubernetes_Tekton_Tekton Pipelines - Fatal编程技术网

Kubernetes 卷写入权限

Kubernetes 卷写入权限,kubernetes,tekton,tekton-pipelines,Kubernetes,Tekton,Tekton Pipelines,如何让非root用户完全访问Kubernetes(pod)中装载的卷路径 我正在主机上使用一个卷(/workspace/projects路径),并将其写入目录,如下所示 volumeMounts: -name: workspace mountPath: /workspace/projects 由于我正在将git存储库内容复制到/projects目录,git默认将权限设置为755。我想将权限设置为775,因为无法写入/project目录 你能告诉我最好的方法是什么吗?我看到了InitConta

如何让非root用户完全访问Kubernetes(pod)中装载的卷路径

我正在主机上使用一个卷(/workspace/projects路径),并将其写入目录,如下所示

volumeMounts:
-name: workspace
 mountPath: /workspace/projects
由于我正在将git存储库内容复制到/projects目录,git默认将权限设置为755。我想将权限设置为775,因为无法写入/project目录


你能告诉我最好的方法是什么吗?我看到了InitContainers,不确定是否有更好的解决方案。感谢您的帮助!提前谢谢

当您必须以非root用户身份在容器内运行进程并将卷装载到pod时。但是卷具有
root:root
权限

授予特定用户initContainer访问权限是一种方法,如下所示

initContainers:
- name: volume-mount-permission
  image: busybox
  command: ["sh", "-c", "chmod 775 /workspace/projects && chown -R <user> /workspace/projects"]
  volumeMounts:
  -name: workspace
   mountPath: /workspace/projects
initContainers:
-名称:卷装载权限
图片:busybox
命令:[“sh”、“-c”、“chmod 775/workspace/projects&&chown-R/workspace/projects”]
体积数量:
-名称:工作区
mountPath:/workspace/projects
您也可以使用。创建用户和组,将用户添加到Dockerfile中的组,并在规范中设置以下内容

spec:
  securityContext:
    runAsUser: <UID>
    runAsGroup: <GID>
    fsGroup: <GID>
spec:
securityContext:
runAsUser:
runAsGroup:
金融服务集团:

谢谢!因为,这应该适用于任何用户,我如何传递运行pod yaml的已登录/当前用户的uid?我想我可以试试$uid什么的。如果有更好的解决办法,请告诉我。谢谢