Knative 的 Kafka Broker 能否从其集群外部接收事件?

Can Knative's Kafka Broker be fed with events from outside its cluster?

当我设置一个 kafka 代理时,它的 URL 默认使用

例如“http://kafka-broker-ingress.knative-eventing.svc.cluster.local/example/default”

我只能从 k8 集群内的资源发送事件。

是否可以使用面向 URL 的 public 设置 kafka 代理,以便它可以从集群外部接收事件?如果能。怎么样?

谢谢

不支持开箱即用,但您可以使用 Kubernetes ingress

一个最小的例子:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: example-default-broker
  namespace: knative-eventing
spec:
  rules:
  - host: <my_host>
    http:
      paths:
      - path: /example/default
        pathType: Exact
        backend:
          service:
            name: kafka-broker-ingress
            port:
              number: 80

如果您想在 example 命名空间中创建入口资源并将其连接到 kafka-broker-ingress 服务,请查看 Kubernetes Cross Namespace Ingress Network