k8s 通过kafka operator部署kafka集群 3.9.2版本

 

使用的operator是strimzi,官方文档:https://strimzi.io/quickstarts/

1、安装 Strimzi 

helm install strimzi-cluster-operator \
  oci://quay.io/strimzi-helm/strimzi-kafka-operator \
  --version 0.45.2 \
  --namespace kafka

 

2、安装kafka-cluster

vim kafka-cluster.yaml

 
注意:service.beta.kubernetes.io/aws-load-balancer-scheme: "internal" 表示内网

apiVersion: kafka.strimzi.io/v1beta2
kind: KafkaNodePool
metadata:
  name: kafka
  namespace: kafka
  labels:
    strimzi.io/cluster: mq
spec:
  replicas: 3
  roles:
    - controller
    - broker
  storage:
    type: jbod
    volumes:
      - id: 0
        type: persistent-claim
        size: 100Gi
        deleteClaim: false
        kraftMetadata: shared
        class: gp3-us-west-2b
  resources:
    requests:
      cpu: "200m"
      memory: "1Gi"
    limits:
      cpu: "1000m"
      memory: "3Gi"
  template:
    pod:
      affinity:
        podAntiAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
            - labelSelector:
                matchExpressions:
                  - key: strimzi.io/cluster
                    operator: In
                    values:
                      - mq
              topologyKey: kubernetes.io/hostname
---
apiVersion: kafka.strimzi.io/v1beta2
kind: Kafka
metadata:
  name: mq
  namespace: kafka
  annotations:
    strimzi.io/node-pools: enabled
    strimzi.io/kraft: enabled
spec:
  kafka:
    version: 3.9.2
    metadataVersion: 3.9-IV0
    listeners:
      - name: plain
        port: 9092
        type: internal
        tls: false
      - name: tls
        port: 9093
        type: internal
        tls: true
      - name: external
        port: 9094
        type: loadbalancer
        tls: false
        configuration:
          bootstrap:
            annotations: &aws-nlb
              service.beta.kubernetes.io/aws-load-balancer-type: "nlb"
              service.beta.kubernetes.io/aws-load-balancer-scheme: "internal"
              service.beta.kubernetes.io/aws-load-balancer-cross-zone-load-balancing-enabled: "true"
            nodePort: 32518
          brokers:
            - broker: 0
              annotations: *aws-nlb
              nodePort: 32519
            - broker: 1
              annotations: *aws-nlb
              nodePort: 32520
            - broker: 2
              annotations: *aws-nlb
              nodePort: 32521
    config:
      auto.create.topics.enable: false
      offsets.topic.replication.factor: 2
      transaction.state.log.replication.factor: 2
      transaction.state.log.min.isr: 2
      default.replication.factor: 3
      num.partitions: 5
      min.insync.replicas: 2
      log.retention.hours: 168
      log.segment.bytes: 1073741824
      message.max.bytes: 69206016
      replica.fetch.max.bytes: 73400320
      fetch.max.bytes: 75497472
  entityOperator:
    topicOperator: {}
    userOperator: {}

 

 

kc apply -f kafka-cluster.yaml

 

posted @ 2026-09-03 13:41  苦逼yw  阅读(34)  评论(0)    收藏  举报