strimzi / strimzi-kafka-operator

Apache Kafka® running on Kubernetes
https://strimzi.io/
Apache License 2.0
4.77k stars 1.28k forks source link

Multitennant ZK ensembles? #41

Closed tombentley closed 6 years ago

tombentley commented 6 years ago

It may be possible for a single ZK ensemble to support multiple Kafka clusters. To know whether that would be worthwhile we need a better understanding of:

  1. How heavily utilised the ensemble is by a single cluster of a given size (in particular, peak utilisation), and thus some idea of "sharing ratio".
  2. How we could migrate a Kafka cluster using a multi tennant ensemble to a dedicated one.
scholzj commented 6 years ago

Some further points to consider / keep in mind:

tombentley commented 6 years ago
  • The weak security model should be taken into consideration

ZK has per-znode ACLs. Or did you mean some other security aspect?

scholzj commented 6 years ago

Well, the ACLs set up by Kafka are AFAIK only about write access, right? So everyone has read access. We either need to address this or use the multi-tenant ZK only in cases where it doesn't matter, such as:

scholzj commented 6 years ago

The cluster controller currently deploys both Kafka and Zookeeper from single ConfigMap. In order to make ZK multitenant, we would need to split the ConfigMap into two - one for Kafka and one for Zookeeper and add a "link" to the zookeeper node to the Kafka config map.

scholzj commented 6 years ago

This idea has been abandoned as there is currently no need for it. I will close it and we can raise a new one later if needed.