当前位置:   article > 正文

Kubernetes 1.28.2安装配置kafka集群及UI for Kafka_strimzi kafka ui

strimzi kafka ui

本文详述了在kubernetes 1.28.2下安装配置kafka群集及安装配置开源免费的UI for Kafka 图形化web界面管理kafka的步骤。Kafka版本是最新的3.6.1。 本文用于测试环境,如用于生产,请自行调整。

  1. 安装Kafka-Operator

创建命名空间:

kubectl create namespace kafka

下载https://strimzi.io/install/latest?namespace=kafka并重命名为kafka-install.yaml,执行安装

kubectl create -f kafka-install.yaml -n kafka

创建kafka集群

下载https://strimzi.io/examples/latest/kafka/kafka-persistent-single.yaml

以下红色的是修改或增加的内容:(增加了namespace, 增加了nodePort和修改了storage class的名称,本测试环境使用了Minio的CSI的directpv-min-io作为storage class)

apiVersion: kafka.strimzi.io/v1beta2

kind: Kafka

metadata:

  name: my-cluster

  namespace: kafka

spec:

  kafka:

    version: 3.6.1

    replicas: 3

    listeners:

      - name: plain

        port: 9092

        type: internal

        tls: false

      - name: tls

        port: 9093

        type: internal

        tls: true

      - name: external # 增加外部访问用的listener

        port: 9094 #端口

        type: nodeport # nodeport类型

        tls: false

        configuration:

          bootstrap:

            nodePort: 32094 # 指定nodeport端口,不指定会随机分配

    config:

      offsets.topic.replication.factor: 1

      transaction.state.log.replication.factor: 1

      transaction.state.log.min.isr: 1

      default.replication.factor: 1

      min.insync.replicas: 1

      inter.broker.protocol.version: "3.6"

    storage:

      type: jbod

      volumes:

      - id: 0

        type: persistent-claim

        size: 1Gi

        class: directpv-min-io   

        deleteClaim: false       

  zookeeper:

    replicas: 3

    storage:

      type: persistent-claim

      size: 1Gi

      class: directpv-min-io

      deleteClaim: false

  entityOperator:

    topicOperator: {}

    userOperator: {}

kubectl apply -f kafka-persistent-single.yaml

kubectl get pod -n kafka

kubectl get svc -n kafka

 kubectl get deploy -n kafka

生产数据:

kubectl -n kafka run kafka-producer -ti \

--image=quay.io/strimzi/kafka:0.39.0-kafka-3.6.1 \

--rm=true --restart=Never -- bin/kafka-console-producer.sh \

--bootstrap-server my-cluster-kafka-bootstrap:9092 \

--topic my-topic

消费数据:

kubectl -n kafka run kafka-consumer -ti \

--image=quay.io/strimzi/kafka:0.39.0-kafka-3.6.1 \

--rm=true --restart=Never \

-- bin/kafka-console-consumer.sh \

--bootstrap-server my-cluster-kafka-bootstrap:9092 \

--topic my-topic --from-beginning

也可以手工进入container内部运行命令,下面以生产数据为例:

kubectl get pod kafka-producer -o jsonpath='{.spec.containers[*].name}' -n kafka

查询到container名称也为:kafka-producer

kubectl exec -it kafka-producer -n kafka -c kafka-producer -- /bin/sh

cd bin

手工生产数据:

./kafka-console-producer.sh --bootstrap-server my-cluster-kafka-bootstrap:9092 --topic my-topic

2. 安装UI for Kafka:

Github网址:

GitHub - provectus/kafka-ui: Open-Source Web UI for Apache Kafka Management

临时测试:

docker run -it -p 8080:8080 -e DYNAMIC_CONFIG_ENABLED=true provectuslabs/kafka-ui

永久运行:

vi ui-kafka.yml内容如下:

  1. services:
  2. kafka-ui:
  3. container_name: kafka-ui
  4. image: provectuslabs/kafka-ui:latest
  5. ports:
  6. - 8080:8080
  7. environment:
  8. DYNAMIC_CONFIG_ENABLED: true
  9. volumes:
  10. - ~/kui/config.yml:/etc/kafkaui/dynamic_config.yaml

创建目录及文件:

mkdir kui

cd kui

touch config.yml

chmod 777 config.yml

mkdir -p /etc/kafkaui

touch /etc/kafkaui/dynamic_config.yaml

chmod 777 /etc/kafkaui/dynamic_config.yaml

cd ~

启动 ui-kafka container:

docker-compose -f ui-kafka.yml up -d

查看启动的container:

docker container ls|grep kafka

然后在浏览器运行:(192.168.249.10是kubernetes cluster的master node的ip)

http://192.168.249.10:8080/

添加kafka cluster:

查看Message:

基于浏览器Produce message:

参考网址:

Quickstarts

GitHub - provectus/kafka-ui: Open-Source Web UI for Apache Kafka Management

使用Strimzi-Kafka-Operator搭建kafka集群 | 爪哇君-Java技术栈

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/597167
推荐阅读
相关标签
  

闽ICP备14008679号