Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.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 如何允许非root用户写入EKS中已装载的EFS_Kubernetes_Kubernetes Helm_Amazon Eks_Amazon Efs - Fatal编程技术网

Kubernetes 如何允许非root用户写入EKS中已装载的EFS

Kubernetes 如何允许非root用户写入EKS中已装载的EFS,kubernetes,kubernetes-helm,amazon-eks,amazon-efs,Kubernetes,Kubernetes Helm,Amazon Eks,Amazon Efs,我在配置静态配置的EFS时遇到了问题,无法使作为非root用户运行的多个POD读取和写入文件系统 我正在使用AWS EFS CSI驱动程序。我的版本信息如下: Client Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.18", GitCommit:"6f6ce59dc8fefde25a3ba0ef0047f4ec6662ef24", G

我在配置静态配置的EFS时遇到了问题,无法使作为非root用户运行的多个POD读取和写入文件系统

我正在使用AWS EFS CSI驱动程序。我的版本信息如下:

Client Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.18", GitCommit:"6f6ce59dc8fefde25a3ba0ef0047f4ec6662ef24", GitTreeState:"clean", BuildDate:"2021-04-15T03:31:30Z", GoVersion:"go1.13.15", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"18+", GitVersion:"v1.18.9-eks-d1db3c", GitCommit:"d1db3c46e55f95d6a7d3e5578689371318f95ff9", GitTreeState:"clean", BuildDate:"2020-10-20T22:53:22Z", GoVersion:"go1.13.15", Compiler:"gc", Platform:"linux/amd64"}
我遵循github repo()中的示例,适当地更新volumeHandle。在本例的规范中定义的busybox容器能够读取和写入文件系统,但当我将相同的PVC添加到一个不作为根用户运行的pod中时,pod无法写入已安装的EFS。 我已经尝试了一些其他的方法来让它像我期望的那样工作:

  • 仅将这里描述的注释应用于持久卷定义
  • 将上述注释应用于pod定义并包括securityContext.runAsGroup(使用适当的值)
  • 为Pod应用注释、runAsGroup和fsGroup
这些配置都不允许非root用户写入已装载的EFS。 在配置静态配置的EFS以使多个POD(所有这些POD都作为非root用户运行)可以在装载的EFS中读写方面,我缺少什么

以下是pod定义供参考:

apiVersion:v1 种类:豆荚 元数据: 名称:app1 规格: 容器: -名称:app1 图片:busybox 命令:[“/bin/sh”] 参数:[“-c”,“while true;do echo$(date-u)>>/data/out1.txt;sleep 5;done”] 体积数量: -名称:持久存储 装载路径:/data 卷数: -名称:持久存储 persistentVolumeClaim: 索赔名称:efs索赔 --- 版本:v1 种类:豆荚 元数据: 姓名:app2 规格: 容器: -姓名:app2 图片:busybox 命令:[“/bin/sh”] 参数:[“-c”,“while true;do echo$(date-u)>>/data/out2.txt;sleep 5;done”] 体积数量: -名称:持久存储 装载路径:/data 卷数: -名称:持久存储 persistentVolumeClaim: 索赔名称:efs索赔 --- 版本:v1 种类:豆荚 元数据: 姓名:app3 规格: 容器: -姓名:app3 图片:busybox 命令:[“/bin/sh”] 参数:[“-c”,“while true;do echo$(date-u)>>/data/out3.txt;sleep 5;done”] 体积数量: -名称:持久存储 装载路径:/data securityContext: runAsUser:1000 runAsGroup:1337 金融稳定组:1337 卷数: -名称:持久存储 persistentVolumeClaim: 索赔名称:efs索赔 以及SC/PVC/PV:

种类:StorageClass
apiVersion:storage.k8s.io/v1
元数据:
姓名:efs sc
提供人:efs.csi.aws.com
---
版本:v1
种类:PersistentVolumeClaim
元数据:
名称:efs索赔
规格:
访问模式:
-读写
storageClassName:efs sc
资源:
请求:
存储容量:5Gi
---
版本:v1
种类:PersistentVolume
元数据:
名称:efs pv
注释:
pv.beta.kubernetes.io/gid:{{.Values.groupId | quote}
规格:
容量:
存储容量:5Gi
volumeMode:文件系统
访问模式:
-读写
PersistentVolumeClaIncolicy:保留
storageClassName:efs sc
犯罪现场调查:
驱动程序:efs.csi.aws.com
卷处理:fs-asdf123

哦,好的,我会在那里发布。我认为这是合适的,因为这里已经发布并回答了几个类似的问题。虽然这些并没有解决我面临的问题。