Это можно сделать, конечно. У меня нет личного опыта с этим, но если у вас нет опыта управления другими контейнерами с состоянием, я бы посоветовал избегать этого.
Что касается «начала работы» с Kafka в контейнерах, Kubernetes является наиболее документированным способом, и Strimzi (бесплатная, дополнительная коммерческая поддержка Lightbend) или Confluent Operator (коммерческая поддержка Confluent) может сделать это легко, когдаиспользуя Kubernetes или Openshift. Или DC / OS предлагает услугу Kafka через Mesos / Marathon. Если у вас еще нет ни одной из этих служб, то, я думаю, очевидно, что вам следует отказаться от использования контейнеров.
Исходя из того, что я испытал, было бы гораздо проще поддерживать развертывание в «голом металле» или виртуализацию, чем в случае развертывания вручную в контейнерах. Особенно для регистрации, сбора метрик и статически назначенных отображений слушателей Kafka по сети. Confluent предоставляет сценарии Ansible для развертывания в таких средах
Это не означает, что есть компании, которые добились успеха или хотя бы попробовали. IBM, RedHat и Shopify сразу же появляются в моих поисках, например
Вот несколько разговоров о том, что нужно учитывать, когда Кафка находится в контейнерах https://www.confluent.io/kafka-summit-london18/kafka-in-containers-in-docker-in-kubernetes-in-the-cloud
https://kafka -summit.org/sessions/running-kafka-kubernetes-practical-guide/