我有一个关于Kubernetes中的Kafka的问题,特别是自动缩放...
假设我在Kubernetes的3个pod中有3个Kafka经纪人,并且有一个TopicA,具有5个分区(P1,P2,P3,P4,P5),复制因子为3,所有经纪人都有其持久卷,而我有自动在配置的Kubernetes中进行缩放,因此如果它检测到Kafka pods中的CPU /内存使用率为80%,它将为Kafka Brokers启动其他pod ...
如果我没有完全错,Kafka将检测Zookeeper的额外实例并可以转移分区(因此,假设P1,P2位于Broker1和P3,P4位于Broker2和P5位于Broker3),因此将出现一个新的pod我希望看到的图片就像是跟随Broker1的P1,P3,P4 Broker2,P5 Broker3和Broker4的P2。
所以我的第一个问题是,以上假设是否正确,卡夫卡的行为是否如此?
第二个问题是缩小规模,让负载峰值消失,我们不需要pod4,Kubernetes是否可以击落pod,Kafka是否可以返回3 Brokers配置,这是我不确定的部分。当我有复制因子3时,其他2个代理应该可以继续工作,而kann Kafka将分区P2拉到代理1或2或3?
最后一个问题是,如果Kubernetes产生了pod5,6,7,我们可以再次缩小到3 pods配置吗?
谢谢。.