当前位置: 首页 > 知识库问答 >
问题:

在k8 minikube集群外访问kafka broker

丘智志
2023-03-14
nc <exposed-ip> 30092, it says the port is open.
curl -X GET http://192.168.99.100:30081/subjects

我有几个问题。1)我们能不能在k8集群之外以上述方式访问k8集群之外的Kafka?如果是这样,我在某种程度上做错了吗?2)如果端口是打开的,那不是意味着代理是可用的吗?

如有任何帮助,不胜感激。谢谢

共有1个答案

刁瀚昂
2023-03-14

如果不能直接从外部路由到POD,那么从容器网络外部访问Kafka集群相当复杂。

当您第一次连接到Kafka集群时,您连接到一个代理,代理返回Kafka集群中所有代理和分区的列表。然后,Kafka客户端使用该列表与特定主题所在的代理进行交互。

问题是broker列表默认包含Kafka broker的内部IP。在您的情况下,这将是容器网络IP。可以通过在每个代理的配置中设置adveredsed.listeners来覆盖此值。

 类似资料:
  • 我目前正在使用bitnami/kafka image(https://hub.docker.com/r/bitnami/kafka)并将其部署在kubernetes上。 kubernetes大师:1 库伯内特斯工人:3人 在群集中,其他应用程序能够找到 kafka。尝试从群集外部访问 kafka 容器时出现问题。在阅读时,我读到我们需要为外部 kafka 客户端设置属性“广告.监听器=纯文本://

  • 第一次使用 kubectl 访问 如果您是第一次访问 Kubernetes API 的话,我们建议您使用 Kubernetes 命令行工具:kubectl。 为了访问集群,您需要知道集群的地址,并且需要有访问它的凭证。通常,如果您完成了入门指南那么这些将会自动设置,或者其他人为您部署的集群提供并给您凭证和集群地址。 使用下面的命令检查 kubectl 已知的集群的地址和凭证: $ kubectl

  • 根据用户部署和暴露服务的方式不同,有很多种方式可以用来访问 kubernetes 集群。 最简单也是最直接的方式是使用 kubectl 命令。 其次可以使用 kubeconfig 文件来认证授权访问 API server。 通过各种 proxy 经过端口转发访问 kubernetes 集群中的服务 使用 Ingress,在集群外访问 kubernetes 集群内的 service

  • 在 Kubernetes 集群内访问 TiDB 时,使用 TiDB service 域名 ${cluster_name}-tidb.${namespace} 即可。 若需要在集群外访问,则需将 TiDB 服务端口暴露出去。在 TidbCluster CR 中,通过 spec.tidb.service 字段进行配置: spec: ... tidb: service: ty

  • 我成功地kerberized了一个测试Hortonworks集群。Ambari为这些服务创建了keytabs,并且它们都已启动。名称编号有HA。备用名称节点启动得快,活动名称节点需要更长得时间。Namenode UI显示一切都是正确的。可以使用Kerberos登录。名称编号为nn1.zim.com和nn2.zim.com 这个配置会有什么问题呢?以hdfs登录,用kinit-kt加载keytab。

  • PS:我们可以将flink状态存储在dynamoDB中,并在那里创建一个API吗?还是以任何其他方式坚持和向外部世界揭露国家?