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

本地连接数据库正常,EKS服务器连接时出现DNS查询拒绝错误

EKS集群内服务无法解析RDS域名的排查与解决

问题现象

本地环境连接AWS RDS数据库(simple-bank.cejetrykwn68.ap-south-1.rds.amazonaws.com)一切正常,但部署在EKS上的服务器发起连接时出现DNS解析错误:

dial tcp: lookup simple-bank.cejetrykwn68.ap-south-1.rds.amazonaws.com on 10.100.0.10:53: read udp 172.31.13.150:39956->10.100.0.10:53: read: connection refused

排查与解决步骤

1. 检查CoreDNS组件状态

10.100.0.10是EKS集群默认的CoreDNS服务ClusterIP,先确认组件运行状态:

  • 查看CoreDNS Pod状态:
    kubectl get pods -n kube-system -l k8s-app=kube-dns
    
  • 检查CoreDNS服务状态:
    kubectl get svc -n kube-system kube-dns
    

若Pod处于异常状态(如CrashLoopBackOff),重启CoreDNS部署:

kubectl rollout restart deployment coredns -n kube-system

2. 验证集群内DNS解析能力

在EKS集群内启动测试Pod,直接测试目标域名解析:

kubectl run -it --rm --image=busybox:1.28 dns-test -- nslookup simple-bank.cejetrykwn68.ap-south-1.rds.amazonaws.com

若解析失败,测试公共域名(如google.com)判断是特定域名问题还是全局DNS故障:

kubectl exec -it dns-test -- nslookup google.com

3. 检查网络连通性配置

  • 确认EKS集群VPC与RDS实例VPC是否连通(同VPC、VPC对等连接或VPN打通)。
  • 检查RDS安全组是否允许EKS集群节点/服务CIDR段的数据库端口(如3306)入站访问。
  • 检查EKS节点安全组是否允许出站访问53端口(DNS)和数据库端口。

4. 核查CoreDNS配置

查看CoreDNS的ConfigMap,确认无异常拦截规则:

kubectl edit configmap coredns -n kube-system

默认配置需包含forward . /etc/resolv.conf,确保没有针对AWS RDS域名的特殊限制。

5. 临时替换DNS服务器测试

若CoreDNS故障无法快速修复,可临时修改Pod的DNS配置,使用AWS VPC内置DNS服务器(通常为VPC网段第2个IP,如VPC网段10.100.0.0/16对应DNS为10.100.0.2):
在Pod的Deployment YAML中添加:

spec:
  containers:
  - name: your-app-container
    ...
  dnsPolicy: "None"
  dnsConfig:
    nameservers:
      - 10.100.0.2
    searches:
      - default.svc.cluster.local
      - svc.cluster.local
      - cluster.local
    options:
      - name: ndots
        value: "5"

6. 排查节点网络异常

若仅单个节点上的Pod出现问题,检查节点网络:

  • 测试节点是否能ping通10.100.0.10(CoreDNS服务IP)
  • 查看节点/etc/resolv.conf配置是否正常
  • 检查节点iptables规则是否拦截DNS请求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 09:30:03