如何在 Docker 和 DigitalOcean Kubernetes 上部署 Kafka

Apache Kafka 是一个开源的分布式事件和流处理平台,使用 Java 编写,旨在处理要求严苛的实时数据流。它被设计为具有容错能力,并支持每个集群拥有数百个节点。高效运行更多数量的节点需要容器化和编排流程以实现最优资源使用,例如使用 Kubernetes

在本教程中,你将学习如何使用 Docker Compose 部署 Kafka。你还将学习如何在 DigitalOcean Kubernetes上使用 Strimzi 部署 Kafka,Strimzi 能够集成到 Kubernetes 中,并允许你使用常规 Kubernetes 清单配置和维护 Kafka 集群,无需手动操作。

准备工作

要想跟着本教程后续的步骤,你需要:

步骤1 - 使用 Docker Compose 运行 Kafka

在本节中,你将学习如何在 KRaft 模式下使用 Docker Compose 运行 Kafka。使用 KRaft 可以简化整体配置和资源使用,因为不需要 ZooKeeper 实例。

首先,定义一个包含已解压 Kafka 发布版的 Docker 镜像。之后会使用它来测试与 Kafka 容器的连接,通过使用包含的脚本。

在 Dockerfile 中存储所需的命令。创建并打开它进行编辑:

nano Dockerfile

添加以下行:

FROM ubuntu:latest AS build
RUN apt-get update
RUN apt-get install curl default-jre -y
WORKDIR /kafka-test
RUN curl -o kafka.tgz https://dlcdn.apache.org/kafka/3.7.0/kafka_2.13-3.7.0.tgz
RUN tar -xzf kafka.tgz --strip-components=1

容器基于最新的 Ubuntu 版本。在更新包缓存和安装 curl 及 Java 之后,下载一个 Kafka 发布包。在我们写这篇文章教程时,Kafka 的最新版本是 3.7.0。你可以在官方下载页面查找最新版本。

然后,你设置工作目录(WORKDIR)为 /kafka-test,在该目录下下载并解压 Kafka 发布包。在 tar 命令中传递 --strip-components=1 参数,以跳过存档中的第一个目录,该目录以存档本身的名称命名。

保存并关闭文件。

接下来,你将在名为 kafka-compose.yaml 的文件中定义 Docker Compose 配置。通过运行以下命令创建并打开它进行编辑:


                
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值