在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 :持久化存储,多节点集群;

复制代码
相关推荐
IT利刃出鞘8 小时前
Docker Compose--安装WordPress--方法/示例
运维·docker·容器
分布式存储与RustFS13 小时前
RustFS 多协议接入全景:S3 之外,Swift/Keystone 与 SFTP/FTPS 怎么选
云原生·开源·对象存储·分布式存储·s3·rustfs·性能基准
分布式存储与RustFS17 小时前
在 Kubernetes 上用 RustFS Operator 给 Tenant 开 KMS 加密:spec.encryption 实战
云原生·开源·对象存储·分布式存储·s3·rustfs·性能基准
小楼昨夜又东风12617 小时前
kafka、rocketmq、rabbitmq,有什么区别
kafka·rabbitmq·rocketmq
wdfk_prog18 小时前
大型 Docker 镜像导出导入工程化:可靠性、磁盘与压缩
运维·docker·容器
郝开18 小时前
Docker Compose 模块化多环境配置规范指南:示例搭建Alf Tengine MD2DOC 1.1.1
运维·docker·容器
Albart57519 小时前
Docker Desktop 增量更新失败终极排查:Failed to apply delta update 反复回滚怎么办?
windows·docker·容器·docker部署大模型
sibylyue20 小时前
【云原生系列3】Docker Compose单机多容器编排工具
运维·docker·容器
Seoyoneh20 小时前
呼叫中心系统云原生架构演进:传统自建与云端部署的技术实现对比分析
云原生·架构
2601_9622184720 小时前
万象生鲜系统订单全生命周期追踪实现生鲜企业订单业务数字化可视
大数据·运维·微服务·云原生·架构