Как подключиться к Кафке в Кубернетесе извне? - PullRequest
0 голосов
/ 22 октября 2018

Задача состоит в том, чтобы создать производителя Kafka, который подключается к кластеру Kafka, который находится внутри кластера Kubernetes, вне этого кластера.У нас есть несколько баз данных RDBMS, которые находятся в помещении, и мы хотим передавать данные напрямую в Kafka, который живет в Kubernetes на AWS.Мы попробовали несколько вещей и развернули Confluent Open Source Platform, но пока ничего не получалось.У кого-нибудь есть четкий ответ на эту проблему?

Ответы [ 2 ]

0 голосов
/ 13 февраля 2019

Клиенты Kafka должны подключаться к определенному узлу, чтобы создавать или потреблять сообщения.

Протокол kafka может подключаться к любому узлу для получения метаданных.Затем клиент подключается к определенному узлу, который был выбран в качестве лидера раздела, который клиент хочет производить / потреблять.

Каждый модуль kafka должен быть индивидуально доступен, поэтому вам необходим балансировщик нагрузки L4 для каждого модуля.,Конфигурируемый прослушиватель может быть установлен в конфигурации kafka для объявления разных IP / имен хостов для внутренних и внешних клиентов.Сконфигурируйте ADVERTISED_LISTENERS EXTERNAL, чтобы использовать балансировщик нагрузки, и INTERNAL, чтобы использовать IP-адрес модуля.Порты должны быть разными для внутреннего и внешнего.

Оформить заказ https://strimzi.io/, https://bitnami.com/stack/kafka, https://github.com/confluentinc/cp-helm-charts

Обновление:

Пробовал установить кафку в k8s, работающую в AWS EC2.Между confluent-оператором, bitnami-kafka и strimzi, только стримзи настроил EXTERNAL в настройках kafka для балансировки нагрузки.

bitnami-kafka использует безголовый сервис, который бесполезен вне сети k8s.Confluent-operator настраивается на IP-адрес узла, что делает его доступным вне k8s, но для тех, кто может получить доступ к экземпляру EC2 через частный IP-адрес.

0 голосов
/ 22 октября 2018

Вы могли бы взглянуть на развертывание Kafka Connect внутри Kubernetes.Поскольку вы хотите реплицировать данные из различных баз данных RDMBS, вам необходимо настроить исходные соединители ,

Исходный соединитель принимает целые базы данных и обновляет таблицы потоков в разделах Kafka.Он также может собирать показатели со всех ваших серверов приложений в разделы Kafka, делая данные доступными для потоковой обработки с малой задержкой.

В зависимости от исходных баз данных вам придется настроить соответствующие разъемы .

Если вы не знакомы с Kafka Connect, эта статья может оказаться весьма полезной, поскольку она объясняет ключевые концепции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...