首页 > 解决方案 > 如何从 EKS 集群连接到 MSK 集群

问题描述

即使两个集群共享相同的 VPC 和相同的子网,我也无法从我的 EKS 集群连接到我的 MSK 集群。

MSK 集群使用的安全组有以下入站规则

类型 协议 端口范围 资源
所有流量 全部 全部 风俗 SG_ID
所有流量 全部 全部 任何地方 ipv4 0.0.0.0/0

其中 SG_ID 是 EKS 的集群安全组。标记为:EKS 创建的安全组已应用...

在 EKS 集群中,我使用以下命令来测试连接性:

kubectl  run kafka-consumer \
-ti \
--image=quay.io/strimzi/kafka:latest-kafka-2.8.1 \
--rm=true \
--restart=Never \
-- bin/kafka-topics.sh --create --topic test  --bootstrap-server b-1.test.z35y0w.c4.kafka.us-east-1.amazonaws.com:9092 --replication-factor 2 --partitions 1 --if-not-exists 

结果如下

执行主题命令时出错:调用(callName=createTopics,deadlineMs=1635906680860,trys=1,nextAllowedTryMs=1635906680961)在 1635906680861 尝试 1 次后超时 [2021-11-03 02:31:20,865] 错误 org.apache .kafka.common.errors.TimeoutException:调用(callName=createTopics,deadlineMs=1635906680860,trys=1,nextAllowedTryMs=1635906680961)在 1635906680861 次尝试后超时 原因:org.apache.kafka.common.errors。 TimeoutException:等待节点分配超时。调用:createTopics (kafka.admin.TopicCommand$) pod "kafka-consumer" 删除 pod default/kafka-consumer 终止(错误)

遗憾的是,MSK 页面上显示的第二个引导服务器给出了相同的结果。

nc 最终超时

kubectl  run busybox -ti --image=busybox --rm=true --restart=Never -- nc b-2.test.z35y0w.c4.kafka.us-east-1.amazonaws.com

nslookup 也失败了

kubectl  run busybox -ti --image=busybox --rm=true --restart=Never -- nslookup b-2.test.z35y0w.c4.kafka.us-east-1.amazonaws.com
If you don't see a command prompt, try pressing enter.
*** Can't find b-2.test.z35y0w.c4.kafka.us-east-1.amazonaws.com: No answer

谁能给我一个提示?谢谢

标签: amazon-eksaws-msk

解决方案


推荐阅读