步骤如下

1.安装zk:

helm install zookeeper bitnami/zookeeper \
  --set replicaCount=1 \
  --set auth.enabled=false \
  --set allowAnonymousLogin=true

 2.安装kafka:

helm install kafka bitnami/kafka \
  --set zookeeper.enabled=false \
  --set replicaCount=3 \
  --set externalZookeeper.servers=zookeeper

当执行完回车 安装成功后,会展示如下内容:

 英文还可以的小伙伴应该能读懂什么意思 ,所以可以继续安装客户端pod。

3.安装kafka-client:

kubectl run kafka-client --restart='Never' --image docker.io/bitnami/kafka:2.8.0-debian-10-r84 --namespace default --command -- sleep infinity

 4.检查安装情况:

kubectl get pod,svc

5.进入客户端的pod内 并执行 kafka-console-producer.sh 作为测试的生产者发送消息

kubectl exec  kafka-client -it /bin/bash
kafka-console-producer.sh \
            --broker-list kafka-0.kafka-headless.default.svc.cluster.local:9092,kafka-1.kafka-headless.default.svc.cluster.local:9092,kafka-2.kafka-headless.default.svc.cluster.local:9092 \
            --topic test

测试创建一个话题topic为 test 

 发送测试数据并回车

6.另外开启一个console进入客户端的pod内并执行kafka-console-consumer.sh 作为消费者接收消息 

kubectl exec  kafka-client -it /bin/bash
 kafka-console-consumer.sh \
            --bootstrap-server kafka.default.svc.cluster.local:9092 \
            --topic test \
            --from-beginning

 这样每次当5步骤回车后 该console就可以收到发送的内容了。如下图:

 --------

另写一遍安装步骤

安装zk:

helm install zookeeper bitnami/zookeeper --set replicaCount=1 --set auth.enabled=false --set allowAnonymousLogin=true

安装kakfa:

将ZOOKEEPER-SERVICE-NAME变量替换为zookeeper。原因:zookeeper.enabled已经部署好zookeep了无需再部署一个,因为是同一个命名空间,所以externalZookeeper.servers直接指定zookeeper就可以读取到了,否则需要指定命名空间 (标红的原因是当初踩过坑)

helm install kafka bitnami/kafka --set zookeeper.enabled=false --set replicaCount=3 --set externalZookeeper.servers=ZOOKEEPER-SERVICE-NAME

---------------------

安装kafka-manager:

1.helm repo add kaiyuanshe http://mirror.kaiyuanshe.cn/kubernetes/charts/

2.helm search repo kafka-manager

3.helm fetch kaiyuanshe/kafka-manager

4.tar -zxvf kafka-manager-2.3.5.tgz

5.kubectl create  namespace kafka

6.helm install  kakfa-manager --namespace kafka -f my-values.yaml kaiyuanshe/kafka-manager(my-values.yaml自定义values中修改service type=NodePort,port=XXX)

kafka-manager简介

    kafka-manager是目前最受欢迎的kafka集群管理工具,最早由雅虎开源,用户可以在Web界面执行一些简单的集群管理操作。具体支持以下内容:

  • 管理多个集群
  • 轻松检查群集状态(主题,消费者,偏移,代理,副本分发,分区分发)
  • 运行首选副本选举
  • 使用选项生成分区分配以选择要使用的代理
  • 运行分区重新分配(基于生成的分配)
  • 使用可选主题配置创建主题(0.8.1.1具有与0.8.2+不同的配置)
  • 删除主题(仅支持0.8.2+并记住在代理配​​置中设置delete.topic.enable = true)
  • 主题列表现在指示标记为删除的主题(仅支持0.8.2+)
  • 批量生成多个主题的分区分配,并可选择要使用的代理
  • 批量运行重新分配多个主题的分区
  • 将分区添加到现有主题
  • 更新现有主题的配置

kafka-manager 项目地址:GitHub - yahoo/CMAK: CMAK is a tool for managing Apache Kafka clusters

 参考地址:

Deploy a Scalable Apache Kafka/Zookeeper Cluster on Kubernetes with Bitnami and Helm

kubernetes集群部署Kafka和Zookeeper集群_一别两宽丶各生欢喜-CSDN博客

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐