在k8s上使用strimzi operator安装kafka集群

文章目录

Strimzi Operator 是一种强大的工具,它简化了 Kafka 在 Kubernetes 环境中的部署和管理, 记录下部署教程

部署步骤

官方地址: https://strimzi.io/quickstarts/

创建命名空间:

kubectl create namespace kafka-system

  1. 安装operator, 完成后

    kubectl create -f 'https://strimzi.io/install/latest?namespace=kafka-system' -n kafka-system

    如果k8s集群域名不是默认的cluster.local, 需要在operator资源上使用KUBERNETES_SERVICE_DNS_DOMAIN环境变量覆盖原来的

  2. 执行kubectl apply -f kafka.yaml -n kafka-system

    apiVersion: kafka.strimzi.io/v1beta2
    kind: KafkaNodePool
    metadata:
    name: dual-role
    labels:
    strimzi.io/cluster: my-cluster
    spec:
    replicas: 3
    roles:
    - controller
    - broker
    resources:
    requests:
    memory: 4Gi
    cpu: "2"
    limits:
    memory: 4Gi
    cpu: "2"
    storage:
    type: jbod
    volumes:
    - id: 0
    type: persistent-claim
    size: 20Gi
    class: disk-ssd
    deleteClaim: false
    kraftMetadata: shared

    apiVersion: kafka.strimzi.io/v1beta2
    kind: Kafka
    metadata:
    name: my-cluster
    annotations:
    strimzi.io/node-pools: enabled
    strimzi.io/kraft: enabled
    spec:
    kafka:
    version: 3.8.0
    metadataVersion: 3.8-IV0
    listeners:
    - name: plain
    port: 9092
    type: internal
    tls: false
    - name: tls
    port: 9093
    type: internal
    tls: true
    config:
    offsets.topic.replication.factor: 3
    transaction.state.log.replication.factor: 3
    transaction.state.log.min.isr: 2
    default.replication.factor: 3
    min.insync.replicas: 2
    entityOperator:
    topicOperator: {}
    userOperator: {}

  3. 创建生产者:
    kubectl -n kafka-system run kafka-producer -ti --image=quay.io/strimzi/kafka:0.45.0-kafka-3.8.0 --rm=true --restart=Never -- bin/kafka-console-producer.sh --bootstrap-server my-cluster-kafka-bootstrap:9092 --topic my-topic

  4. 创建消费者:
    kubectl -n kafka-system run kafka-consumer -ti --image=quay.io/strimzi/kafka:0.45.0-kafka-3.8.0 --rm=true --restart=Never -- bin/kafka-console-consumer.sh --bootstrap-server my-cluster-kafka-bootstrap:9092 --topic my-topic --from-beginning

其他示例:

https://github.com/strimzi/strimzi-kafka-operator/blob/release-0.43.x/examples/kafka/kafka-persistent.yaml

说明:

kafka-ephemeral-single.yaml:非持久化存储,单节点集群;

kafka-ephemeral.yaml:非持久化存储,多节点集群;

kafka-jbod.yaml:jbod存储,多节点集群;

kafka-persistent-single.yaml:持久化存储,单节点集群;

kafka-persistent.yaml :持久化存储,多节点集群;

复制代码
相关推荐
Gold Steps.6 小时前
OpenEBS — 云原生 CNS 高性能存储
云原生·kubernetes·存储
大雨淅淅7 小时前
Eureka从入门到精通:开启微服务架构的钥匙
微服务·云原生·eureka·架构
oMcLin7 小时前
2025年必备的Docker命令指南与实战示例
docker·容器·eureka
sun cat7 小时前
Docker详细介绍(6)
docker·容器·docker-compose
AI架构全栈开发实战笔记7 小时前
Eureka 对大数据领域服务依赖关系的梳理
大数据·ai·云原生·eureka
SoleMotive.13 小时前
谢飞机爆笑面经:Java大厂3轮12问真题拆解(Redis穿透/Kafka分区/MCP Agent)
redis·spring cloud·kafka·java面试·mcp
广州中轴线13 小时前
OpenStack on Kubernetes 生产部署实战(十三)
容器·kubernetes·openstack
晚霞的不甘14 小时前
Flutter for OpenHarmony天气卡片应用:用枚举与动画打造沉浸式多城市天气浏览体验
前端·flutter·云原生·前端框架
Tadas-Gao14 小时前
TCP粘包现象的深度解析:从协议本质到工程实践
网络·网络协议·云原生·架构·tcp
爆米花byh14 小时前
在RockyLinux9环境的Kafka4.1.1单机版安装(无ZK依赖)
中间件·kafka