1

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

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

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

是否可以使用面向公众的 URL 设置 kafka 代理,以便它可以接收来自集群外部的事件?如果能。如何?

谢谢

4

1 回答 1

1

这不受开箱即用的支持,但您可以使用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

于 2021-06-02T11:30:13.867 回答