【kubernetes-kafka】使用kafka client测试

背景

现在假设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
相关推荐
云川之下15 小时前
【k8s】NAD(NetworkAttachmentDefinition)与SR‑IOV‑Operator 关系
云原生·容器·kubernetes
ZzzZZzzzZZZzzzz…18 小时前
K8S实战:NFS+StorageClass+PV/PVC+Deployment
运维·云原生·容器·kubernetes·storageclass·linux运维·持久卷
三言老师19 小时前
CentOS7.9 + Kubernetes 1.18.20 -清理所有 docker / containerd 残留
docker·容器·kubernetes
circuitsosk19 小时前
从Docker到Kubernetes:AI应用服务化与弹性伸缩的落地实践
人工智能·docker·kubernetes·ai应用部署
AAA@峥19 小时前
K8s 配置管理实战:ConfigMap 与 Secret 完整使用指南
kubernetes·云计算
showyoui20 小时前
K8s 集群迁移踩坑:Istio 升级后 nginx 403
网络·docker·kubernetes·istio·service_mesh
富士康质检员张全蛋1 天前
Kafka 事物
kafka
云川之下1 天前
【k8s】sriov‑device‑plugin、sriov‑network‑config‑daemon详解
云原生·容器·kubernetes
wear工程师2 天前
Kafka 消费者心跳正常,为什么还会被踢出组?拆清 max.poll.interval.ms
java·kafka
张忠琳2 天前
【NPU】Ascend Device Plugin —Part 6 K8s客户端 + 重复检测模块 超深度源码分析之二
云原生·容器·kubernetes·npu·docker device