Не удалось подключиться к Kafka на Kubernetes извне

Я развернул kafka на minikube, следуя https://docs.bitnami.com/tutorials/deploy-scalable-kafka-zookeeper-cluster-kubernetes.

Я могу создавать темы кафки, публиковать и использовать сообщения из тем с помощью команд kubectl. Когда я установил kafka через диаграмму helm, kafka.kafka.svc.cluster.local — это DNS-имя в кластере.

helm install kafka bitnami/kafka --set zookeeper.enabled=false --set replicaCount=3 --set externalZookeeper.servers=zookeeper.kafka.svc.cluster.local -n kafka

Я пробовал разными способами, но не смог получить доступ к этому кластеру kafka снаружи. Я пытаюсь опубликовать сообщения в теме kafka через образец кода производителя в IntelliJ, но загрузочный сервер kafka.kafka.svc.cluster.local недоступен.

Я предлагаю начать с стримзи.ио и прочитать их документацию о разрешении доступа внешних клиентов.

OneCricketeer 05.04.2022 15:10

@OneCricketeer - Спасибо за ваше предложение, я настроил kafka с помощью strmzi.io и могу публиковать/использовать сообщения из-за пределов кластера.

user3497321 06.04.2022 17:06
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Kubernetes - это портативная, расширяемая платформа с открытым исходным кодом для управления контейнерными рабочими нагрузками и сервисами, которая...
0
2
28
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

but the bootstrap server kafka.kafka.svc.cluster.local is not reachable.

Это только внутренний адрес записи CoreDNS. Вам потребуется определить автономную службу с открытым NodePort и дополнительным TCP LoadBalancer, который будет направлять входящий трафик в кластер вместе с соответствующей NetworkPolicy. Найдите в конфиге "внешний" - https://github.com/bitnami/charts/tree/master/bitnami/kafka#параметры-экспозиции-трафика

Kafka не уникальна в этом отношении, поэтому я предлагаю узнать больше о доступе к сервисам k8s за пределами кластера. Или переключитесь обратно на Docker Compose, чтобы просто протестировать локальную среду Kafka с контейнерами.

Обратите внимание, что настройка объявленных прослушивателей каждого модуля брокера должна будет возвращать клиенту их индивидуальные внешние адреса брокера.

Я попытался установить helm с помощью NodePort, ниже приведены службы, которые я вижу: NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) service/kafka ClusterIP x.x.x.x <none> 9092/TCP service/kafka-0-external NodePort x.x.x.x <none> 9094:32074/TCP service/kafka-1-external NodePort x.x.x.x <none> 9094:32389/TCP service/kafka-2-external NodePort x.x.x.x <none> 9094:30996/TCP service/kafka-headless ClusterIP None <none> 9092/TCP,9093/TCP

user3497321 05.04.2022 17:03

Наряду с этим, когда я пытаюсь проверить созданные темы кафки с помощью команды ./kafka-topics.sh --list --bootstrap-server x.x.x.x:32074,x.x.x.x:32389,x.x.x.x:30996, у меня возникает проблема с тайм-аутом. Не уверен, какую ошибку я делаю. Эти IP-адреса являются конечными точками, отображаемыми в службе kafka-headless.

user3497321 05.04.2022 17:08

Безголовая служба говорит «Нет» для своего кластерного IP-адреса, хотя

OneCricketeer 06.04.2022 17:12

Да, я тоже пробовал "туннель миникубе", но диаграмма битнами не работала.

user3497321 06.04.2022 17:20

Другие вопросы по теме