【问题标题】:Is there a kubectl command to create kafka topic without using import yaml file option?是否有 kubectl 命令可以在不使用导入 yaml 文件选项的情况下创建 kafka 主题?
【发布时间】:2020-11-09 02:57:37
【问题描述】:

我已经在 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

【问题讨论】:

    标签: kubernetes apache-kafka kubectl rancher strimzi


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

        【讨论】:

        • 需要 Strimzi 运算符
        猜你喜欢
        • 1970-01-01
        • 2022-06-16
        • 2022-01-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-10-12
        • 2018-04-09
        • 2019-06-18
        相关资源
        最近更新 更多