如何启用kafka合流的minikube集群中的入口



我搜索了一个解决方案,让confluentic kafka与ingress一起工作,我找到了这个PR来实现它,但这个PR没有被接受(但存储库所有者放弃了,回购也不存在了(。

因此,我试图用本手册作为参考,实现一些非常简单的概念验证。

目前我已启用入口:

$ kubectl get ingress
NAME            CLASS    HOSTS         ADDRESS   PORTS   AGE
kafka-ingress   <none>   kafka.local             80      40m

使用这个应用的yaml文件:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: kafka-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /$1
spec:
rules:
- host: kafka.local
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: kafka-cp-kafka-rest
port:
number: 8082

kafka是从helm charts安装的,我的minikube集群(在linux机器上(中的服务看起来像:

kubectl get svc
NAME                          TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)             AGE
kafka-cp-control-center       ClusterIP   10.111.250.7     <none>        9021/TCP            63m
kafka-cp-kafka                ClusterIP   10.100.60.8      <none>        9092/TCP,5556/TCP   63m
kafka-cp-kafka-connect        ClusterIP   10.99.105.18     <none>        8083/TCP,5556/TCP   63m
kafka-cp-kafka-headless       ClusterIP   None             <none>        9092/TCP            63m
kafka-cp-kafka-rest           ClusterIP   10.108.102.194   <none>        8082/TCP,5556/TCP   63m
kafka-cp-ksql-server          ClusterIP   10.104.173.97    <none>        8088/TCP,5556/TCP   63m
kafka-cp-schema-registry      ClusterIP   10.110.6.112     <none>        8081/TCP,5556/TCP   63m
kafka-cp-zookeeper            ClusterIP   10.109.42.247    <none>        2181/TCP,5556/TCP   63m
kafka-cp-zookeeper-headless   ClusterIP   None             <none>        2888/TCP,3888/TCP   63m
minio 
ClusterIP   10.98.39.90      <none>        9000/TCP            63m

我在我的/etc/hosts中添加了一个从我的minikube地址到kafka的映射。本地主机:

192.168.49.2 kafka.本地

当使用这个curl调用时,我得到一个响应:

curlhttp://10.108.102.194:8082/topics

但当我试图呼叫时:

curlhttp://kafka.local/topics

我得到了:

curl:(7(无法连接到kafka。本地端口80:连接被拒绝

如何使用主机通过ingress调用kafka rest服务?

只有当我在没有驱动程序(在机器的存储上创建,而不是作为VM(和指定9.x入口网络ip(为了获得它,我运行了:ip a(的情况下启动minikube时,它才起作用

minikube start --driver=none --apiserver-ips <9.x.x.x>

我做的另一件事是删除:

注释:nginx.ingress.kubernetes.io/rewrite-target:/$1

来自我的资源yaml。

希望它能帮助别人。

最新更新