是否有一个kubectl命令可在不使用import yaml文件选项的情况下创建kafka主题?

问题描述

我已经在kubernetes上部署了strimzi 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

解决方法

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

kubectl run ... kafka-topics --create ...
,

这是借助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>
,

另一种方法是使用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

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...