0

我已经在 kubernetes 上部署了 srimzi kafka,并且在我的本地也有 kube 设置。但是每次我想在 kafka 中创建一个新主题时,我都需要通过 Rancher 导入 yaml 文件并提供主题名称来创建一个。

有没有办法直接通过 kubectl 命令创建 kafka 主题?

这些是我用来运行 kafka 的命令:

Producer: kubectl run kafka-producer1 -ti --image=strimzi/kafka:0.18.0-kafka-2.4.0 --rm=true --restart=Never -- bin/kafka-console-producer.sh --broker-list 11.23.41.32:31025 --topic topic-name

Consumer: kubectl run kafka-consumer1 -ti --image=strimzi/kafka:0.18.0-kafka-2.4.0 --restart=Never -- bin/kafka-console-consumer.sh --bootstrap-server 11.23.41.32:31025 --topic topic-name --from-beginning

4

3 回答 3

0

另一种方法是使用KafkaTopic资源:

kubectl apply -f - <<EOF
apiVersion: kafka.strimzi.io/v1beta1
kind: KafkaTopic
metadata:
  name: my-new-topic
  labels:
    strimzi.io/cluster: my-cluster
spec:
  replicas: 3
  partitions: 10
EOF

kubectl get kafkatopics.kafka.strimzi.io

NAME           CLUSTER      PARTITIONS   REPLICATION FACTOR
my-new-topic   my-cluster   10           3
于 2020-11-08T18:57:37.453 回答
0

这是借助 kafka connect 和 kubectl 创建主题的命令之一

kubectl exec -it <kafka-connect-service-name>  -c <cluster-ip> -n labkafka -- kafka-topics --create --topic <topic_name> --bootstrap-server <bootstrap-server>
于 2020-10-17T08:43:16.187 回答
0

你可以kafka-topics像生产和消费一样运行

kubectl run ... kafka-topics --create ...
于 2020-08-24T20:00:45.143 回答