kafka暴露给k8s集群外部访问
背景
<略>
环境
- Kubernetes: v1.18.x
- Kafka: 3.5.1
- kafka副本数: 3
实现方式
下载chart
# wget https://charts.bitnami.com/bitnami/kafka-25.3.5.tgz
# tar axvf kafka-25.3.5.tgz
编辑values.yaml 内容如下:
externalAccess.enabled=true
externalAccess.controller.service.type=NodePort
externalAccess.controller.service.nodeport[0]='19092'
externalAccess.controller.service.nodeport[1]='29092'
externalAccess.controller.service.nodeport[2]='39092'
externalAccess.controller.service.externalIPs[0]='172.16.0.20'
externalAccess.controller.service.externalIPs[1]='172.16.0.21'
externalAccess.controller.service.externalIPs[2]='172.16.0.22'
固定NodePort可能会导致服务(Containerd),建议自动分配。
安装kakfa应用
# helm install kafka kafka
测试
$ kafka-console-producer.sh --broker-list 172.16.0.20:19092,172.16.0.21:29092,172.16.0.22:39092 --topic test
$ kafka-console-consumer.sh --bootstrap-server 172.16.0.20:19092,172.16.0.21:29092,172.16.0.22:39092 \
--topic test \
--from-beginning