在当今的云原生时代,将像 Kafka 这样的有状态数据系统部署到 Kubernetes (K8s) 上已成为主流实践。Kubernetes 提供了强大的弹性伸缩、故障自愈和资源管理能力,而 Helm 作为 K8s 的包管理器,则极大地简化了复杂应用的部署和生命周期管理。
本文将详细介绍如何利用 Helm 和 Bitnami 提供的优秀 Chart,在 Kubernetes 集群中部署一个高可用的 Kafka 集群。我们将采用 Zookeeper-less 的 KRaft 模式,并通过一个结构化的项目,实现配置与部署逻辑的分离,使其更易于维护和复用。