kubernetes集群部署Kafka和Zookeeper集群

目录

1、helm部署方式介绍

2、利用bitnami开源部署方式

3、验证消息队列是否正常

4、kafka集群和zookeeper集群扩容


1、helm部署方式介绍

helm安装文档:

https://helm.sh/docs/intro/install/

helm添加仓库:

$ helm repo add bitnami https://charts.bitnami.com/bitnami

bitnami         https://charts.bitnami.com/bitnami                                      

ali-stable      https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts                  

ali-incubator  https://aliacs-app-catalog.oss-cn-hangzhou.aliyuncs.com/charts-incubator/

创建一个chart:

 helm create helm-test

├── charts # 依赖文件

├── Chart.yaml # 这个chart的版本信息

├── templates #模板

│   ├── deployment.yaml

│   ├── _helpers.tpl # 自定义的模板或者函数

│   ├── ingress.yaml

│   ├── NOTES.txt #这个chart的信息

│   ├── serviceaccount.yaml

│   ├── service.yaml

│   └── tests

│       └── test-connection.yaml

└── values.yaml #配置全局变量或者一些参数
常用函数:http://masterminds.github.io/sprig/strings.html

2、利用bitnami开源部署方式

# 官方部署说明:

https://docs.bitnami.com/tutorials/deploy-scalable-kafka-zookeeper-cluster-kubernetes

# 仓库helm已添加,查找相关软件包:

[root@k8s-master01 someapps]# helm search repo zookeep

# 下载zookeeper和kafka到本地

可以直接helm install zookeeper bitnami/zookeeper安装,但是需要修改values.yaml文件再部署

helm pull bitnami/zookeeper bitnami/kafka

# 修改默认配置

vim zookeeper/values.yaml

修改为false,默认true使用PVC启用Kafka数据持久性,需要提前准备好pvc

vim kafka/values.yaml

# helm部署zookeep集群

进入pull好的zookeep目录、指定命名空间、副本数、内网无需验证、注意最后有.读取当前位置

当前打算练习elk部署,所以指定空间为kube-logging

helm install zookeeper -n kube-logging​​​​​​​ --set replicaCount=1 --set auth.enabled=false --set allowAnonymousLogin=true .

# helm部署kafka集群 

zookeeper.enabled已经部署好zookeep了无需再部署一个,因为是同一个命名空间,所以externalZookeeper.servers直接指定zookeeper就可以读取到了,否则需要指定命名空间

helm install kafka -n kube-logging --set replicaCount=1 --set zookeeper.enabled=false --set externalZookeeper.servers=zookeeper .

# 查看服务部署状态

3、验证消息队列是否正常

# 1、进入一个kafka容器

k exec -it kafka-0 bash

# 2、创建一个名为mytopic的主题

kafka-topics.sh --create --zookeeper zookeeper:2181 --replication-factor 1 --partitions 1 --topic mytopic

# 3、启动 Kafka 消息消费者

kafka-console-consumer.sh --bootstrap-server kafka:9092 --topic mytopic

# 4、打开另一个终端,启动 Kafka 消息生产者

kafka-console-producer.sh --broker-list kafka:9092 --topic mytopic

# 5、生产者在mytopic输入消息,看消费者可否读取到

4、kafka集群和zookeeper集群扩容

helm upgrade kafka -n public-service --set zookeeper.enabled=false --set replicaCount=2 --set externalZookeeper.servers=zookeep .

おすすめ

転載: blog.csdn.net/weixin_39855998/article/details/119847746
おすすめ