Helm安装外部可访问Kafka集群
k8s使用helm命令部署kafka部署在ns-demo命名空间下
·
Helm安装外部可访问Kafka集群
部署在ns-demo命名空间下
helm配置 Chart 仓库
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo add azure http://mirror.azure.cn/kubernetes/charts
helm repo add aliyun https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
helm repo update # 类似 yum update
查看配置的存储库
helm repo list
helm repo remove aliyun # 移除指定的存储库aliyun
下载 zookeeper安装包
# 先查可用的kafka版本
helm search repo zookeeper
# 下载安装包至本地
,chart的版本12.8.1(3.9.1)
helm pull bitnami/zookeeper --version=12.8.1
# 解压缩安装包
tar xf zookeeper-12.8.1.tgz
# 修改values.yaml文件
cd kafka
cp values.yaml values.yaml.bak
vim values.yaml
#查看配置文件
grep -Ev "$^|#" values.yaml
修改values.yaml文件
vim values.yaml
extraEnvVars:
- name: TZ
value: "Asia/Shanghai"
# 允许任意用户连接(默认开启),本地文件没有需要自己添加
allowAnonymousLogin: true
---
# 关闭认证(默认关闭)
auth:
enable: false
---
# 修改副本数
replicaCount: 3
---
# 4. 配置持久化,按需使用
global:
imageRegistry: ""
imagePullSecrets: []
storageClass: "managed-nfs-storage"
安装zookeeper
helm install zookeeper zookeeper/ -n ns-demo
#查看挂载状态,使用nfs作为持久化
kubectl get pvc -n ns-demo
查看 pod
kubectl describe pod -n ns-demo
kubectl get pod -n ns-demo
1、下载 kafka安装包
# 先查可用的kafka版本
helm search repo kafka
# 下载安装包至本地
,chart的版本26.8.3(3.6.1)
helm pull bitnami/kafka --version=26.8.3
# 解压缩安装包
tar xf kafka-26.8.3.tgz
# 修改values.yaml文件
cd kafka
cp values.yaml values.yaml.bak
vim values.yaml
#查看配置文件
grep -Ev "$^|#" values.yaml
在配置文件中修改以下部分
broker:
replicaCount: 3 # 副本数
---
# 持久化存储
persistence:
enabled: true
storageClass: "" # sc 有默认sc可以不写
accessModes:
- ReadWriteOnce
size: 8Gi
---
kraft:
## @param kraft.enabled Switch to enable or disable the Kraft mode for Kafka
##
enabled: false #设置为false
---
# 配置zookeeper外部连接
zookeeper:
enabled: false # 不使用内部zookeeper,默认是false
externalZookeeper: # 外部zookeeper
servers: zookeeper #Zookeeper svc名称
---
externalAccess:
## @param externalAccess.enabled Enable Kubernetes external cluster access to Kafka brokers
##
enabled: true
broker:
service:
## @param externalAccess.broker.service.type Kubernetes Service type for external access. It can be NodePort, LoadBalancer or ClusterIP
##
type: NodePort
ports:
external: 9092
nodePorts:
- 30001
- 30002
- 30003
externalIPs:
- 10.101.17.11
- 10.101.17.11
- 10.101.17.11
---
## 文件末尾加入以下内容
## 允许删除topic(按需开启)
deleteTopicEnable: true
## 日志保留时间(默认一周)
logRetentionHours: 168
## 自动创建topic时的默认副本数
defaultReplicationFactor: 2
## 用于配置offset记录的topic的partition的副本个数
offsetsTopicReplicationFactor: 2
## 事务主题的复制因子
transactionStateLogReplicationFactor: 2
## min.insync.replicas
transactionStateLogMinIsr: 2
## 新建Topic时默认的分区数
numPartitions: 3
2、安装kafka
# 进入kafka的上级目录执行
helm install kafka-helm kafka/ -n ns-demo
连接kafka需要用户名密码(也可以去kubesphere保密字典查看密码)
security.protocol=SASL_PLAINTEXT
sasl.mechanism=SCRAM-SHA-256
sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required \
username="user1" \
password="$(kubectl get secret kafka-helm-user-passwords --namespace ns-demo -o jsonpath='{.data.client-passwords}' | base64 -d | cut -d , -f 1)";
查看 pod
kubectl describe pod -n ns-demo
kubectl get pod -n ns-demo
参考链接:https://www.cnblogs.com/-k8s/p/17908556.html
更多推荐
已为社区贡献8条内容
所有评论(0)