我计划在GCP (google云平台)上运行Kafka。
我想知道的是当GCP pod失败时Kafka主题中的数据会发生什么?默认情况下会创建一个新的pod,但是Kafka主题中的数据会丢失吗?在这种情况下如何避免数据丢失?
我很感激你的帮助。提前感谢:)最诚挚的问候,
Kafka本身需要一个持久性解决方案,你可能需要一个云原生存储解决方案。创建一个存储类,定义您的存储需求,如复制因素、快照策略和性能配置文件。在Kubernetes上部署Kafka作为statfulset。
不完全理解你的目的,但在这种情况下,你不能保证当pod失败/被驱逐时Kafka的数据阻力。也许你应该尝试使用安装了Kafka的本机VM,并将其配置为完全备份(当灾难发生时可以随时恢复)
这取决于你到底需要什么。这是一个相当笼统的问题。
如果你想使用MarketPlace,你已经有了一些现成的Kafka部署。
当你要求pod时,我猜你想使用Google Kubernetes引擎。在互联网上你可以找到很多关于在Kubernetes上使用Kafka的指南。
例如,你可以在Portworx上引用Kafka和Zookeeper。在其中一个步骤中,您有StorageClass yaml。在GKE中,默认的存储类设置为delete
,但您可以使用reclaimPolicy: Retain
创建一个新的storageclass
,这将在删除pod后将磁盘保留在GCP中。
在GCP中,您还可以选择创建磁盘快照
除了一些在Kubernetes上使用Kafka的最佳实践,你可以在这里找到。