helm 轻松完爆kafka

一、环境准备

  • Kubernetes:v1.18.13
  • Kubernetes宿主机:CentOS Linux release 7.6.1810 (Core)
  • Nfs服务器:192.168.99.151
  • Helm:v3.6.1
  • Kafka:2.0.1
  • Zookeeper:3.5.5

接下来的实战之前,请您准备好:K8S、Helm、NFS、StorageClass!

二、准备工作

2.1 添加helm仓库(该仓库中有kafka):

$ helm repo add incubator http://storage.googleapis.com/kubernetes-charts-incubator
# 如果上述命令添加仓库失败了 可以使用以下命令进行添加
$ helm repo add incubator https://charts.helm.sh/incubator

2.2 获取kafka的chart包

$ helm pull incubator/kafka --untar

2.3 修改具体的values 对应的值

1) 首先要设置在K8S之外的也能使用kafka服务,修改external.enabled的值,改为true!

2021-07-05_122350

2)找到configurationOverrides,下图两个框中的内容原本是注释的,请删除注释符号,另外,如果您之前设置过跨网络访问kafka,就能理解下面写入K8S宿主机IP的原因了!

2021-07-05_122556

3)设置数据卷,找到persistence,按需要调整大小,再设置已准备好的storageclass的名称!

2021-07-05_122723

4)设置zookeeper的数据卷!

2021-07-05_122823

三、部署

3.1 先创建namespace

$ kubectl create namespace kafka-test

3.2 安装

$ helm -n kafka-test install kafka ../kafka/ -f values.yaml

kafka启动依赖zookeeper,整个启动会耗时数分钟,期间可见zookeeper和kafka的pod逐渐启动!

3.3 查看kafka的版本

$ kubectl exec kafka-0 -n kafka-test -- sh -c 'ls /usr/share/java/kafka/kafka_*.jar'

如下图红框所示,scala版本2.11,kafka版本2.0.1:

2021-07-05_123608

四、验证

4.1 对外暴露zookeeper

apiVersion: v1
kind: Service
metadata:
name: zookeeper-nodeport
namespace: kafka-test
spec:
type: NodePort
ports:
- port: 2181
nodePort: 32181
selector:
app: zookeeper
release: kafka

4.2 验证

找一台电脑安装kafka包,就能通过里面自带的命令远程连接和操作K8S的kafka了!

4.2.1 安装kafka软件包

访问kafka官网:http://kafka.apache.org/downloads ,刚才确定了scala版本2.11,kafka版本2.0.1,因此下载下图红框中的版本:

7dot1ooduj

4.2.2 查看当前topic
$ ./kafka-topics.sh --list --zookeeper 192.168.99.151:32181
# 空空如也
4.2.3 创建topic
$ ./kafka-topics.sh --create --zookeeper 192.168.99.151:32181 --replication-factor 1 --partitions 1 --topic test001
4.2.4 查看名为test001的topic
$ ./kafka-topics.sh --describe --zookeeper 192.168.99.151:32181 --topic test001
Topic:test001 PartitionCount:1 ReplicationFactor:1 Configs:
Topic: test001 Partition: 0 Leader: 1 Replicas: 1 Isr: 1
4.2.5 进入创建消息的交互模式
$ ./kafka-console-producer.sh --broker-list 192.168.99.151:31090 --topic test001
4.2.6 执行命令消费消息
$ ./kafka-console-consumer.sh --bootstrap-server 192.168.99.151:31090 --topic test001 --from-beginning

自行测试! 本人暂时对kafka 没什么深入研究 ! 随后有时间继续完善!

posted @   吕振江  阅读(1764)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
浏览器标题切换
浏览器标题切换end
点击右上角即可分享
微信分享提示

目录导航