- У меня Кафка развернута и работает в кластере Kubernetes. Я использую это изображение из докер-хаба - https://hub.docker.com/r/cloudtrackinc/kubernetes-kafka/
- У меня есть 3 kube-узла в моем кластере kubernetes. У меня запущены 3 приложения Kafka и 3 приложения zookeeper, и у меня есть соответствующие службы zoo1, zoo2, zoo3 и kafka-1, kafka-2 и kafka-3. Я могу публиковать/потреблять изнутри кластера kubernetes, но я не могу публиковать/потреблять из-за пределов кластера kubernetes, т.е. с внешней машины, не входящей в кластер kubernetes.
- Я могу получить доступ к kube-узлам с внешней машины - в основном я могу пинговать их, используя name/ip.
- Я не использую какой-либо внешний балансировщик нагрузки, но у меня есть DNS, который может разрешить как мою внешнюю машину, так и kube-узлы.
- Использование NodePort или ExternalIP для предоставления сервиса Kafka в этом случае не работает.
- Установка
KAFKA_ADVERTISED_HOST_NAME
илиKAFKA_ADVERTISED_LISTENERS
в Kafka RC YML, которые в конечном итоге устанавливают свойстваADVERTISED_HOST_NAME
/ADVERTISED_LISTENERS
вserver.properties
также не помогает получить доступ к kafka из-за пределов кластера kubernetes.
Пожалуйста, предложите, как я могу публиковать/использовать вне кластера kubernetes. Большое спасибо!