Мне нужно настроить NiFi в Kubernetes (microk8s), на виртуальной машине (Ubuntu, используя VirtualBox) с помощью диаграммы helm. Конечная цель — обеспечить двустороннюю связь с Kafka, которая также уже развернута в Kubernetes.
Я нашел диаграмму руля для NiFi, доступную через Cetic здесь. Kafka уже настроен для обеспечения внешнего доступа через NodePort, поэтому я предполагаю, что я должен сделать то же самое для NiFi (по крайней мере, для простоты), хотя приветствуется любое альтернативное решение.
Из документации есть опция доступа к NodePort:
NodePort: Предоставляет услугу на IP-адресе каждого узла через статический порт ( порт узла). Вы сможете связаться со службой NodePort из вне кластера, запросив NodeIP:NodePort.
Кроме того, в документации говорится (перефразируя):
service.type по умолчанию имеет значение NodePort
Однако это не относится к файлу helm, учитывая, что значение по умолчанию в файле values.yaml диаграммы имеет service.type=ClusterIP
.
У меня очень мало опыта работы с любой из этих технологий, поэтому мой вопрос: как мне на самом деле настроить файл YAML диаграммы руля NiFi, чтобы обеспечить двустороннюю связь (предположительно через NodePorts)? Это так же просто, как «запрос NodeIP:NodePort», и если да, то как мне это сделать?
ОБНОВЛЯТЬ
Я попробовал подход JM Robles (который не использует helm), но версия API, используемая для Ingress, устарела, и я не смог понять, как это исправить.
Я также пробовал подход GetInData, но предоставленные команды руля приводят к: Error: unknown command "nifi" for "helm"
.
Я нашел ответ, для всех, кто сталкивался с подобной проблемой. По состоянию на конец января 2023 года для настройки NiFi можно использовать следующее, как описано в вопросе:
helm remo add cetic https://cetic.github.io/helm-charts
helm repo update
helm install -n <namespace> --set persistence.enabled=True --set service.type=NodePort --set properties.sensitiveKey=<key you want> --set auth.singleUser.username=<your username> --set auth.singleUser.password=<password you select, must be at least 12 characters> nifi cetic/nifi
Вместо этого вам следует рассмотреть оператор konpyutaika.github.io/nifikop