Kubernetes kafka系列 | Strimzi 快速部署kafka集群 (可外部通信)

本文介绍了Strimzi,一个用于在Kubernetes上部署和管理Apache Kafka的开源项目。Strimzi提供了一系列CRDs、控制器和操作符,简化了Kafka集群的部署和管理。文章涵盖了Strimzi的关键特性,如Kubernetes原生支持、自定义资源定义、多种部署选项和自动化运维,并指导如何在Kubernetes环境中创建和配置Kafka集群。
摘要由CSDN通过智能技术生成

一、Strimzi介绍

Strimzi 是一个用于 Apache Kafka 在 Kubernetes 上部署和管理的开源项目。它提供了一组 Kubernetes 自定义资源定义(Custom Resource Definitions,CRDs)、控制器和操作符,使得在 Kubernetes 环境中轻松地部署、管理和操作 Kafka 集群成为可能。Strimzi 项目旨在简化 Kafka 在 Kubernetes 上的部署和运维,同时利用 Kubernetes 的优势,如弹性、可扩展性和自动化。

以下是 Strimzi 的一些关键特性和优势:

Kubernetes原生支持: Strimzi 利用 Kubernetes 的原生资源和概念,如Pods、Services、PersistentVolumeClaims(PVCs)等,使得 Kafka 集群的部署和管理与 Kubernetes 中其他应用程序类似。

自定义资源定义(CRDs): Strimzi 提供了一组自定义资源定义(CRDs),用于描述 Kafka 集群、主题、用户等 Kafka 相关的资源,使得用户可以通过 Kubernetes API 对其进行管理。

多种部署选项: Strimzi 支持多种部署模式,包括单节点、多节点、高可用、多集群等,可以根据需求选择合适的部署模式。

集成安全性: Strimzi 支持 Kafka 的安全功能,包括TLS/SSL加密、身份认证、授权等,以确保 Kafka 集群的安全性。

自动化运维: Strimzi 提供了一组控制器和操作符,可以自动化 Kafka 集群的运维任务,如扩展、备份、升级等,减少了运维人员的工作量。
组件架构图如下:
在这里插入图片描述

二、部署Kafka集群

创建namespace

kubectl create namespace kafka

Strimzi 部署
包括ClusterRoles和ClusterRoleBindings一些自定义资源定义(CRDs)。CRD 定义了您将用于管理 Kafka 集群、主题和用户的自定义资源(CR,例如 等)使用Kafka的架构。

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

从 strimzi.io下载的YAML 文件ClusterRoleBindings包含默认命名空间myproject。查询参数namespace=kafka会更新这些文件以改为使用kafka。通过-n kafka在运行时指定。

kafka部署

1、如果您的k8s环境还没有准备好pv,请执行以下命令完成部署,这样创建的kafka服务也能正常使用,只不过所有数据都存在pod中,一旦pod被删除&

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值