You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

EKS Fargate部署EFS CSI驱动时efs-csi-controller报错如何处理?

报错原因

EKS Fargate对Pod运行配置有明确限制,禁止使用HostNetwork、特权容器、HostIP/HostPort这类需要直接访问宿主机资源的配置,你当前的Deployment存在两处Fargate不支持的配置:

  • Pod级别开启了hostNetwork: true
  • efs-plugin容器配置了securityContext.privileged: true
解决方案

步骤1:修改Deployment配置

删除对应不支持的配置字段即可,修改后的Pod spec片段如下:

spec:
  containers:
  - args:
    - --endpoint=$(CSI_ENDPOINT)
    - --logtostderr
    - --v=2
    - --delete-access-point-root-dir=false
    env:
    - name: CSI_ENDPOINT
      value: unix:///var/lib/csi/sockets/pluginproxy/csi.sock
    image: 602401143452.dkr.ecr.ap-south-1.amazonaws.com/eks/aws-efs-csi-driver:v1.3.4
    imagePullPolicy: IfNotPresent
    livenessProbe:
      failureThreshold: 5
      httpGet:
        path: /healthz
        port: healthz
      initialDelaySeconds: 10
      periodSeconds: 10
      timeoutSeconds: 3
    name: efs-plugin
    ports:
    - containerPort: 9909
      name: healthz
      protocol: TCP
    # 已删除privileged特权配置
    volumeMounts:
    - mountPath: /var/lib/csi/sockets/pluginproxy/
      name: socket-dir
  # csi-provisioner、liveness-probe配置保持不变
  # 已删除hostNetwork: true配置
  nodeSelector:
    kubernetes.io/os: linux
  priorityClassName: system-cluster-critical
  serviceAccountName: efs-csi-controller-sa
  volumes:
  - emptyDir: {}
    name: socket-dir

步骤2:重新部署生效

执行命令更新Deployment:

kubectl apply -f <修改后的配置文件路径>

可选方案(集群存在EC2节点组时适用)

如果你的EKS集群同时包含EC2节点组,可以给efs-csi-controller添加nodeSelector,将其调度到EC2节点运行,不需要修改原有配置:

nodeSelector:
  kubernetes.io/os: linux
  eks.amazonaws.com/compute-type: ec2

内容的提问来源于stack exchange,提问作者Abhijeet

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 05:15:03