Kafka无法对外暴露端口的相关解决方案

本文档详细介绍了如何解决Kafka组件在部署时不对外暴露端口的问题,包括检查现有端口配置、修改镜像仓库、配置Kafka服务为NodePort类型、执行更新操作,并提供检查更新后的端口映射。注意,该解决方案可能导致新数据丢失,请在低流量时段执行。
摘要由CSDN通过智能技术生成

背景:客户的kafka组件部署时没有对外暴露端口,导致客户不能通过Kafka消费数据。
解决办法
1.检查是否kafka对外有端口露出

[root@k8s-master-01 ~]# kubectl get  svc  -A | grep kafka
default               kafka                                                NodePort       10.107.226.247   <none>        9092:30092/TCP                                              125d
default               kafka-exporter-prometheus-kafka-exporter             ClusterIP      10.111.246.55    <none>        9308/TCP                                                    125d
default               kafka-headless                                       ClusterIP      None             <none>        9092/TCP,9093/TCP                                           125d

2.修改镜像仓库
vim install/servers/kafka/kafka/values.yaml

 image:
      registry: docker.io
      repository: bitnami/kubectl
      tag: 1.19.15-debian-10-r39

3.添加如下kafka脚本配置

此段需覆盖原有配置项

      helm $status -n ${KAFKA_NAMESPACE} \
    --set zookeeper.enabled=false \
    --set replicaCount=${KAFKA_REPLICA} \
    --set persistence.storageClass="kafka-storage" \
    --set service.type=NodePort \
    --set service.nodePorts.client="30092" \
    --set externalAccess.enabled=true \
    --set externalAccess.service.type=NodePort \
    --set externalAccess.autoDiscovery.enabled=true \
    --set rbac.create=true \
    --set externalAccess.service.nodePorts[0]="30190" \
    --set externalAccess.service.nodePorts[1]="30191" \
    --set externalAccess.service.nodePorts[2]="30192" \
    --set externalZookeeper.servers=zookeeper.${KAFKA_NAMESPACE}.svc.cluster.local \
    --set ${helm_set_string} \
    -f $CMD/servers/kafka/kafka/values.yaml kafka $CMD/servers/kafka/kafka/
}

注:此段需覆盖原有配置项
4.执行kafka更新
bash install/main_install.sh update kafka
5.检查

[root@k8s-master-01 ~]# kubectl get svc -A | grep kafka
default               kafka                                                NodePort    10.109.166.120   <none>        9092:30092/TCP,9094:31243/TCP                                8h
default               kafka-0-external                                     NodePort    10.103.113.68    <none>        9094:30190/TCP                                               150m
default               kafka-1-external                                     NodePort    10.111.216.115   <none>        9094:30191/TCP                                               150m
default               kafka-2-external                                     NodePort    10.108.65.222    <none>        9094:30192/TCP                                               150m
default               kafka-headless                                       ClusterIP   None             <none>        9092/TCP,9093/TCP                                            8h


备注:
经过本地测试,此方法仅可保留kafka历史存量数据,对于新进入的数据无法存留,所以,请选择数据流量少的时间进行更新,更新的时间大概约2分钟左右。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿迪是否

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值