kafka管理工具 kafka-ui 的 k8s 部署

背景

实际使用中,部署好kafka集群后,需要管理集群,那么一个好的web控制台就显得尤为重要了。

Apache Kafka UI 是一个简单的工具,可让您的数据流可观察,帮助更快地发现和解决问题并提供最佳性能。其轻量级仪表板可以轻松跟踪 Kafka 集群的关键指标 - 代理、主题、分区、生产和消耗。

直接上部署代码,亲测可用

开源链接

https://github.com/provectus/kafka-ui

效果预览

部署

配置文件

kafka-ui-cm

注意,如果是想管理多个 kafka 集群,则需要配置多个集群信息,并在配置文件中不同的索引号以示区分。例如 _0,_1,_2,如下图所示

---
apiVersion: v1
data:
  ANNOTATION: 'DYNAMIC_CONFIG_ENABLED: true'
  AUTH_TYPE: LOGIN_FORM
  KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS: ${实例0的kafka地址}
  KAFKA_CLUSTERS_0_NAME: ${kafka-0的名字}
  KAFKA_CLUSTERS_0_PROPERTIES_SECURITY_PROTOCOL: SSL
  KAFKA_CLUSTERS_1_BOOTSTRAPSERVERS: ${实例1的kafka地址}
  KAFKA_CLUSTERS_1_NAME: ${kafka-1的名字}
  KAFKA_CLUSTERS_1_PROPERTIES_SECURITY_PROTOCOL: SSL
  SPRING_SECURITY_USER_NAME: admin
  SPRING_SECURITY_USER_PASSWORD: ${设置管理员密码}
  TZ: UTC
kind: ConfigMap
metadata:
  labels:
    app: kafka-ui-cm
  name: kafka-ui-cm
  namespace: xxx

deployment 和 service

kafka-ui

---
apiVersion: apps/v1
kind: Deployment
metadata:
  annotations: {}
  labels:
    k8s.kuboard.cn/name: kafka-ui
  name: kafka-ui
  namespace: xxx
spec:
  progressDeadlineSeconds: 600
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      app: kafka-ui
  strategy:
    rollingUpdate:
      maxSurge: 25%
      maxUnavailable: 25%
    type: RollingUpdate
  template:
    metadata:
      annotations:
        kubectl.kubernetes.io/restartedAt: '2023-11-28T16:21:38+08:00'
      creationTimestamp: null
      labels:
        app: kafka-ui
    spec:
      containers:
        - envFrom:
            - configMapRef:
                name: kafka-ui-cm
          image: 'provectuslabs/kafka-ui:latest'
          imagePullPolicy: Always
          name: kafka-ui
          resources: {}
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
      dnsPolicy: ClusterFirst
      restartPolicy: Always
      schedulerName: default-scheduler
      securityContext: {}
      terminationGracePeriodSeconds: 30

---
apiVersion: v1
kind: Service
metadata:
  annotations: {}
  labels:
    app: kafka-ui
  name: kafka-ui
  namespace: xxx
spec:
  externalTrafficPolicy: Cluster
  internalTrafficPolicy: Cluster
  ipFamilies:
    - IPv4
  ipFamilyPolicy: SingleStack
  ports:
    - nodePort: 32204
      port: 8080
      protocol: TCP
      targetPort: 8080
  selector:
    app: kafka-ui
  sessionAffinity: None
  type: NodePort

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值