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

EKS部署Open Metadata时EFS挂载失败:无法解析文件系统地址

解决EKS中EFS CSI驱动无法解析域名的挂载问题

核心问题定位

从报错和你的测试结果来看,问题本质是Pod无法解析EFS的域名fs-***.efs.my-region-code.amazonaws.com,但能连通挂载目标IP,说明DNS解析环节出现异常,结合EKS多节点环境,可从以下方向排查修复:


排查修复步骤

1. 验证EFS挂载目标的基础配置

  • 确认EFS挂载目标必须创建在EKS集群所在VPC的私有子网中,且每个挂载目标对应集群节点所在的可用区
  • 检查挂载目标安全组:允许集群节点安全组的NFS(2049端口)入站流量,同时允许出站的DNS(53端口UDP/TCP)流量

2. 修复Pod的DNS配置异常

既然Pod能通IP但解析不了域名,优先排查DNS链路:

  • 检查CoreDNS状态:
    执行kubectl get configmap coredns -n kube-system查看配置,确认无自定义拦截规则;若配置异常,执行kubectl rollout restart deployment coredns -n kube-system重启服务
  • 验证Pod DNS策略:
    查看故障Pod的yaml配置,确认dnsPolicy为默认的ClusterFirst;若自定义了dnsConfig,需添加VPC内置DNS服务器(地址为VPC网段+2,比如VPC网段10.0.0.0/16,DNS就是10.0.0.2)
  • Pod内直接测试DNS:
    进入故障Pod:kubectl exec -it <pod-name> -- /bin/bash
    执行nslookup fs-***.efs.my-region-code.amazonaws.com,若返回NXDOMAIN说明DNS解析失败;再手动指定VPC DNS测试:nslookup fs-***.efs.my-region-code.amazonaws.com 10.0.0.2(替换为你的VPC DNS地址),若能解析则说明Pod DNS配置有误

3. 绕过DNS,直接用IP挂载EFS

如果DNS问题暂时无法快速修复,可直接在PV中指定挂载目标IP,绕过域名解析:

apiVersion: v1
kind: PersistentVolume
metadata:
  name: efs-pv
spec:
  capacity:
    storage: 5Gi
  volumeMode: Filesystem
  accessModes:
    - ReadWriteMany
  persistentVolumeReclaimPolicy: Retain
  storageClassName: efs-sc
  csi:
    driver: efs.csi.aws.com
    volumeHandle: fs-***
    volumeAttributes:
      mountOptions: "addr=<efs-mount-target-ip>"

将<efs-mount-target-ip>替换为你实际的EFS挂载目标私有IP即可

4. 多节点环境的子网与节点关联检查

  • 确认集群所有节点都在EFS挂载目标所在子网内,或节点子网与挂载目标子网有路由连通
  • 检查节点安全组:允许出站到EFS挂载目标的2049端口,以及出站到DNS服务器的53端口
  • 若问题间歇性出现,可能是部分节点DNS配置异常,可尝试重启异常节点或重新部署节点组

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 12:52:42