同Google Cloud项目不同区域GKE集群挂载Filestore失败问题咨询
故障根因分析
从kubelet日志中的mount.nfs: Connection timed out错误可以直接判定,故障属于网络连通性问题,与PV/PVC配置无关。结合两个集群分属不同区域、不同子网的背景,常见原因如下:
- Filestore访问授权未覆盖失败集群子网
GCP Filestore实例创建时会配置授权的客户端网络范围,仅在授权列表内的IP段可以访问Filestore服务。如果仅配置了正常集群所在的子网CIDR,未添加失败集群的子网CIDR,就会出现跨子网访问超时。 - VPC防火墙规则拦截NFS流量
NFS挂载需要依赖111(rpcbind服务)、2049(NFS服务)两个端口的TCP/UDP流量通行,请检查两类防火墙规则:- Filestore所在VPC的入站规则:是否允许失败集群节点的IP段访问上述两个端口
- 失败集群所在VPC/子网的出站规则:是否允许访问Filestore IP的上述两个端口
- 跨VPC网络配置错误
如果两个集群分属不同VPC,需要通过VPC对等连接实现互通的场景下,以下配置错误也会导致连通性失败:- VPC对等连接状态异常
- 对等连接两端未开启路由导出/导入配置,无法获取对端子网路由
- Filestore所在VPC未将Filestore的IP段路由发布到对等VPC
- Filestore实例类型限制
如果你使用的是Zonal级别的Filestore Basic HDD/SSD实例,部分老旧实例默认仅允许同可用区访问,需要确认是否开启了跨可用区访问权限。
快速验证方法
你可以直接登录失败集群的任意工作节点,执行以下命令验证网络连通性:
telnet 192.168.99.2 2049
如果返回连接超时,即可确认是上述网络配置问题,和Kubernetes侧配置无关。
内容的提问来源于stack exchange,提问作者joey t
相关产品推荐
相关产品推荐

