当我设置一个 kafka 代理时,它的 URL 默认使用
例如“http://kafka-broker-ingress.knative-eventing.svc.cluster.local/example/default”
我只能从 k8 集群中的资源发送事件。
是否可以使用面向公众的 URL 设置 kafka 代理,以便它可以接收来自集群外部的事件?如果能。如何?
谢谢
当我设置一个 kafka 代理时,它的 URL 默认使用
例如“http://kafka-broker-ingress.knative-eventing.svc.cluster.local/example/default”
我只能从 k8 集群中的资源发送事件。
是否可以使用面向公众的 URL 设置 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。