这里白眉大叔用 kubesphere 来部署kafka
因为 kafka依赖 zookeeper,先 安装一下 zookeeper 吧。k8s 部署zookeeper(kubesphere)
①kafka的docker官方镜像不能直接用于此次集群服务搭建,由于官方kafka镜像在k8s环境中节点broker.id不能根据k8s的规则动态配置,这里我们需要根据实际需求定制我们可以动态改变kafka中broker.id节点的镜像。或者通过镜像启动命令参数动态写入其配置。作者这里选择第一种方案,通过定制其k8s环境下的镜像实现节点broker.id动态赋值。
②这里使用的镜像是:ydockerp/kafka:3.1.0
(1)kafka集群服务搭建
- 点击应用负载-服务-创建-有状态服务
kafka
- 填写kafka基本配置信息,点击下一步
- 选择容器组副本数量为3,这里根据自己实际需求选择,点击添加镜像
- 填写kafka镜像,ydockerp/kafka:3.1.0,加载完镜像,选择使用默认端口
ydockerp/kafka:3.1.0
- 勾选环境变量,填写zookeeper集群服务的客户端地址,使kafka集群可以连接上zookeeper集群服务,
注意,这里的变量名只能按照作者ZOOKEEPER_CONNECT这个变量名填写,这是作者构建镜像启动kafka服务用到的环境变量;并勾选同步主机时区,点对号添加
ZOOKEEPER_CONNECT
这个地址要找到我们 k8s 部署zookeeper(kubesphere) 这一步的地址
zookeeper.kafka-test:2181/kafka
然后填写进去:
zookeeper.kafka-test:2181/kafka
- 添写存储卷基本信息,点对号添加,点击下一步
/opt/kafka/data
- 点击下一步-》创建,完成kafka集群创建
这样就安装完了
对外提供外网访问
- 点击应用负载-服务-创建-指定工作负载
kubesphere部署kafka单点(外网访问 -测试环境)
kafka 客户端 测试
我们用 idea 的 zookeeper 工具测试:
具体用法: zookeeper zoolytic
吐槽一下: offsetexplorer 太难用
kafka集群验证
- 点击进入kafka的任意一个节点
- 通过kafka命令创建一个kafka的主题first
#创建主题
./bin/kafka-topics.sh --bootstrap-server kafka-v1-2.kafka.kafka-test.svc.cluster.local:9092 --create --topic first --partitions 3 --replication-factor 3
- 通过kafka命令查询创建的主题详细信息
./bin/kafka-topics.sh --bootstrap-server kafka-v1-2.kafka.kafka-test.svc.cluster.local:9092 --describe --topic first
ok , 这样就算成功了。
kafka-v1-0.kafka.kafka-test.svc.cluster.local
kafka-v1-1.kafka.kafka-test.svc.cluster.local
kafka-v1-2.kafka.kafka-test.svc.cluster.local
(十二)从零开始搭建k8s集群——使用KubeSphere管理平台搭建一个高可用的zookeeper集群服务_北溟溟的博客-CSDN博客
(十三)从零开始搭建k8s集群——使用KubeSphere管理平台搭建一个高可用的zookeeper版kafka集群服务_kubesphere kafka-CSDN博客
欢迎来撩 : 汇总all