Knative Kafka通道调度程序无法在Kubernetes集群之外访问Kafka

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Knative Kafka通道调度程序无法在Kubernetes集群之外访问Kafka相关的知识,希望对你有一定的参考价值。

我正在尝试使用以下文档在Knative中设置Kafka频道调度程序:https://github.com/knative/eventing/tree/master/contrib/kafka/config

除了渠道调度员找不到我的Kafka经纪人外,其他一切都很顺利。广告连播kafka-channel-dispatcher-0出现错误:

{“ level”:“致命”,“ ts”:1554634078.4035408,“ caller”:“调度程序/main.go:65","msg”:“无法使用 创建kafka调度程序。“,”错误“:”无法创建kafka客户端: kafka:客户的可用经纪人用完了,无法与之对话(是您的 簇 ”),“ stacktrace”:“ main.main \ n \ t / home / michiel / go / src / github.com / knative / eventing / contrib / kafka / cmd / dispatcher / main.go:65 \ nruntime。 main \ n \ t / usr / lib / go-1.10 / src / runtime / proc.go:198“}

我有一个Kafka节点运行在与K8s群集不同的机器上,但是它们在同一网络中。我尝试通过运行带有一些python的容器来尝试不使用Knative的情况下到达Kafka经纪人,并且成功了,所以我知道该经纪人是可以到达的。

这里是Kafka频道分配器的配置图:

apiVersion: v1
kind: ConfigMap
metadata:
  name: kafka-channel-controller-config
  namespace: knative-eventing
data:
  # Broker URL's for the provisioner. Replace this with the URL's for your kafka cluster.
  bootstrap_servers: 10.142.15.232:9092

  # Consumer mode to dispatch events from different partitions in parallel.
  # By default(multiplex), partitions are multiplexed with a single go channel.
  # `multiplex` and `partitions` are valid values.
  ## consumer_mode: partitions

我该怎么做才能联系我的经纪人?可能与我提供IP地址而不是doc示例中的url的事实有关:

# Broker URL's for the provisioner
bootstrap_servers: my-cluster-kafka-bootstrap.my-kafka-namespace:9092

更新:我可以像文档中那样到达strimzi kafka集群。

答案

我有相同的问题,您解决了吗?

以上是关于Knative Kafka通道调度程序无法在Kubernetes集群之外访问Kafka的主要内容,如果未能解决你的问题,请参考以下文章

谷歌向CNCF捐赠Knative

Spark Streaming 如何在驱动程序和执行程序之间调度映射任务?

协程与通道

Knative架构解析

从其他应用程序线程写入Netty通道

Go并发循环逻辑