【kubernetes-kafka】使用kafka client测试

本文详细描述了如何在k8s中启动并配置Kafka客户端,包括从Secret获取密码,创建配置文件,执行测试消息生产和消费,以及列出所有主题的过程。
摘要由CSDN通过智能技术生成
背景

现在假设k8s中已经启动了kafka容器
kafka所在Namespace为xxx

1、启动一个kafka client的pod

kubectl run kafka-client --restart=‘Never’ --image bitnami/kafka:3.1.0-debian-10-r85 --namespace xxx --command – sleep infinity

2、配置

运行脚本生成client.properties

# 1.从 secret 中获取kafka 密码
password="$(kubectl get secret kafka-jaas --namespace xxx -o jsonpath='{.data.client-passwords}' | base64 --decode | cut -d , -f 1)"
# 2.创建配置文件: client.properties
echo "security.protocol=SASL_PLAINTEXT
sasl.mechanism=PLAIN
sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required username='qtUser' password='$password';" > client.properties

将配置文件copy到client容器

kubectl cp --namespace xxx client.properties kafka-client:/tmp/client.properties
3、进入client
kubectl exec --tty -i kafka-client --namespace xxx -- bash
4、测试

kafka的client可以直接发送消息和接受消息
发送消息

kafka-console-producer.sh \
            --producer.config /tmp/client.properties \
            --broker-list kafka-0.kafka-headless.xxx.svc.cluster.local:9092 \
            --topic test

接受消息

  • 可以用来测试项目中已有的消息,因为kafka的消息是可以多次消费的,这里指定了从头开始。
kafka-console-consumer.sh \
            --consumer.config /tmp/client.properties \
            --bootstrap-server kafka-headless.xxx:9092 \
            --topic test \
            --from-beginning

列出所有topic

kafka-topics.sh --list --bootstrap-server kafka-headless.xxx:9092  --command -config /tmp/client.properties
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值