【发布时间】:2020-03-02 17:08:51
【问题描述】:
我有一个关于 Kubernetes 中的 Kafka 的问题,特别是自动缩放...
假设我在 Kubernetes 的 3 个 Pod 中有 3 个 Kafka 代理,并且有一个带有 5 个分区(P1、P2、P3、P4、P5)的 TopicA,复制因子为 3,所有代理都有它们的持久卷,我有自动在 Kubernetes 中进行扩展配置,因此如果它检测到,假设 Kafka Pod 中 CPU/内存使用率为 %80,它将为 Kafka 代理启动额外的 Pod...
如果我没有完全错,Kafka 将检测到 Zookeeper 的额外实例并可以转移分区(假设 P1、P2 在 Broker1 和 P3,P4 在 Broker2 和 P5 在 Broker3)所以一个新的 Pod 来了我期望的图片类似于在 Broker1 的 P1、P3、P4 Broker2、P5 Broker3 和在 Broker4 的 P2。
所以我的第一个问题是,上述假设是否正确,Kafka 的行为是否如此?
第二个问题是关于缩减规模,让负载峰值消失,我们不需要 Pod4,Kubernetes 可以击落 Pod 并且 Kafka 可以返回 3 Brokers 配置,这是我不确定的部分。虽然我的复制因子为 3,但其他 2 个代理应该能够继续工作,kann Kafka 将分区 P2 拉到代理 1 或 2 或 3?
最后一个问题是,如果 Kubernetes 产生 Pod5、6、7,我们是否可以再次缩减到 3 个 Pod 配置?
谢谢解答..
【问题讨论】:
-
stackoverflow.com/a/62470780/3263374 这应该回答你的问题:)