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

同VPC子网下EKS集群无法连接MSK集群故障排查求助

问题排查步骤

1. 优先排查DNS解析问题

你遇到的nslookup解析失败是核心前置问题,DNS不通后续所有连通性测试都会失败,按以下路径排查:

  • 检查MSK所在VPC的DNS配置:确保VPC已开启DNS解析和DNS主机名两个选项,这是AWS内部服务域名解析的必要条件
  • 确认EKS集群CoreDNS运行状态:执行kubectl get pods -n kube-system -l k8s-app=kube-dns,查看所有CoreDNS pod是否处于Running状态,无崩溃、反复重启异常
  • 检查VPC的DHCP选项集:确认DNS服务器配置为默认的AmazonProvidedDNS(通常为VPC网段+2的地址,如10.0.0.2)
  • 分层验证解析能力:先登录EKS工作节点(而非pod内)执行nslookup解析MSK域名:
    • 节点能解析、pod不能:问题出在K8s集群DNS配置
    • 节点也不能解析:问题出在VPC DNS配置或MSK本身配置

2. 检查MSK集群基础配置

  • 确认MSK集群状态为活跃(Active),无创建异常、故障告警
  • 确认MSK的访问模式:如果配置为仅限VPC内部访问,要保证你使用的bootstrap地址是VPC内部域名,不是公网访问域名

3. 修正安全组配置误区

  • 你目前仅配置了MSK安全组的入站规则,还需检查EKS工作节点、Pod关联的安全组出站规则:确保未限制53(DNS)、9092(Kafka)端口的出站访问
  • 确认你填写的SG_ID是EKS工作节点组关联的安全组,而非EKS控制平面的安全组:标注为「EKS created security group applied to cluster control plane」的是控制平面安全组,无法覆盖工作节点的流量放行
  • 你之前执行的nc命令未指定目标端口9092,本身会导致测试失败,后续测试请加上正确端口

临时验证方案

先在AWS控制台查询MSK broker的私有IP,替换域名做连通性测试,快速排除DNS问题:

# 替换<MSK_BROKER_PRIVATE_IP>为实际的broker私有IP
kubectl run busybox -ti --image=busybox --rm=true --restart=Never -- nc -zv <MSK_BROKER_PRIVATE_IP> 9092

如果用IP能连通,可100%定位为DNS解析问题,优先排查上述DNS相关配置即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 17:36:04