问题描述
例如“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。