本文安装思路参考自: Kubernetes全栈架构师:基于世界500强的k8s实战课程
helm项目地址:https://github.com/helm/helm
安装(可选择最新版本的helm):
# 下载
wget https://get.helm.sh/helm-v3.6.1-linux-amd64.tar.gz
# 解压
tar zxvf helm-v3.6.1-linux-amd64.tar.gz
# 安装
mv linux-amd64/helm /usr/local/bin/
# 验证
helm version
# 添加仓库
helm repo add
# 查询 charts
helm search repo
# 更新repo仓库资源
helm repo update
# 查看当前安装的charts
helm list
# 安装
helm install
# 卸载
helm uninstall
# 更新
helm upgrade
# 添加bitnami仓库
helm repo add bitnami https://charts.bitnami.com/bitnami
# 查询chart
helm search repo bitnami
# 创建工作目录
mkdir ~/kafka
cd ~/kafka
# 拉取zookeeper和kafka
helm pull bitnami/kafka
helm pull bitnami/zookeeper
# 解压
tar zxvf [kafka/zookeeper]
cd ~/kafka/zookeeper
,配置时区、持久化存储、副本数等建议首次部署时直接修改values中的配置,而不是用–set的方式,这样方便后期upgrade。
vim values.yaml
# 手动添加时区
# 该模版无extraEnvVars字段,直接复制以下三行
# 部署后,可通过查看logs验证时区是否生效
extraEnvVars:
- name: TZ
value: "Asia/Shanghai"
# 允许任意用户连接(默认开启)
allowAnonymousLogin: true
---
# 关闭认证(默认关闭)
auth:
enable: false
---
# 修改副本数
replicaCount: 3
---
# 4. 配置持久化,按需使用
persistence:
enabled: true
storageClass: "rook-ceph-block" # storageClass
accessModes:
- ReadWriteOnce
cd ~/zookeeper
kubectl create ns kafka
helm install zookeeper -n kafka .
# 进入pod
kubectl exec -it -n kafka zookeeper-0 -- bash
# 查看状态
zkServer.sh status
cd ~/kafka/kafka
,配置zookeeper、持久化存储、副本数、时区、默认分区数、默认副本数、日志过期时间等等vim values.yaml
# 在extraEnvVars下添加时区
extraEnvVars:
- name: TZ
value: "Asia/Shanghai"
---
# 副本数
replicaCount: 3 # 副本数
---
# 持久化存储
persistence:
enabled: true
storageClass: "rook-ceph-block" # sc
accessModes:
- ReadWriteOnce
size: 8Gi
---
# 配置zookeeper外部连接
zookeeper:
enabled: false # 不使用内部zookeeper
externalZookeeper: # 外部zookeeper
servers: zookeeper
## 允许删除topic(按需开启)
deleteTopicEnable: true
## 日志保留时间(默认一周)
logRetentionHours: 168
## 自动创建topic时的默认副本数
defaultReplicationFactor: 2
## 用于配置offset记录的topic的partition的副本个数
offsetsTopicReplicationFactor: 2
## 事务主题的复制因子
transactionStateLogReplicationFactor: 2
## min.insync.replicas
transactionStateLogMinIsr: 2
## 新建Topic时默认的分区数
numPartitions: 3
cd ~/kafka
helm install kafka -n kafka .
kubectl exec -it -n kafka kafka-0 -- bash
kafka-topics.sh --zookeeper zookeeper:2181 --topic test001 --create --partitions 3 --replication-factor 2
kafka-topics.sh --list --zookeeper zookeeper:2181
kafka-topics.sh --zookeeper zookeeper:2181 --describe --topic test001
kafka-console-producer.sh --broker-list kafka:9092 --topic test001
kafka-console-consumer.sh --bootstrap-server kafka:9092 --from-beginning --topic test001
kafka-topics.sh --zookeeper zookeeper:2181 --alter --config retention.ms=864000000 --partitions 4 --topic test001
kafka-topics.sh --delete --zookeeper zookeeper:2181 --topic test001
若本篇内容对您有所帮助,请三连点赞,关注,收藏支持下~