Saltar para o conteúdo principal
Versão Next

Configuração do NiFi

O chart tdp-nifi implanta o Apache NiFi com o operador NiFiKop e ZooKeeper.

Visão geral

PropriedadeValor
Charttdp-nifi
NiFi1.28.0
Chart3.0.0

O que é o NiFiKop?

O NiFiKop é um operador Kubernetes especializado no ciclo de vida de clusters Apache NiFi.

Em vez de gerenciar instâncias NiFi manualmente, você descreve o estado desejado em um recurso Kubernetes chamado NifiCluster, e o NiFiKop cuida de criar, monitorar e atualizar os nós NiFi de forma declarativa.

O chart tdp-nifi implanta tanto o operador NiFiKop quanto o cluster NiFi em si, incluindo:

ComponenteFunção
NiFiKop OperatorGerencia o ciclo de vida do NifiCluster (CRD)
ZooKeeperCoordenação de cluster entre os nós NiFi
NifiClusterRecurso que define o cluster: nós, listeners, serviços externos
cert-managerEmite certificados TLS para comunicação segura entre nós (quando webhook.enabled=true)

Esse modelo baseado em operador significa que a maioria das configurações do NiFi vai para nifiCluster.* em vez de parâmetros Helm diretos — o operador traduz esses valores em ConfigMaps, Secrets e Pods com a configuração correta do NiFi.

Para saber mais

Consulte Apache NiFi — Conceitos para uma visão completa da ferramenta, sua arquitetura e funcionamento.

Pré-requisitos

  • Kubernetes 1.27+
  • Helm 3.2+
  • Ingress Controller — apenas se ingress.enabled=true
  • cert-manager — quando nifikop.webhook.enabled=true (integração documentada no chart para o webhook)

Instalação (OCI)

Terminal input
helm install <release> \
oci://registry.tecnisys.com.br/tdp/charts/tdp-nifi \
-n <namespace> --create-namespace

Parâmetros principais

ParâmetroDescriçãoPadrão (referência)
tdp-nifi.enabledHabilitar o charttrue
zookeeper.replicaCountRéplicas ZooKeeper1
zookeeper.persistence.*Storage ZooKeeperver helm show values
nifikop.enabledOperador NiFiKoptrue
nifikop.watchOwnNamespaceWatch só no namespace do releasetrue
nifikop.webhook.enabledWebhook do operadortrue
nifikop.certManager.enabledcert-manager para webhooktrue
nifiCluster.zkAddressEndereço ZooKeeper<release>-zookeeper:2181
nifiCluster.externalServices[0].spec.typeTipo do serviço NiFiLoadBalancer
ingress.enabledCriar Ingresstrue
ingress.rules[0].hostHost do Ingressnifi.local (exemplo de laboratório)
ingress.ingressClassNameClasse do Ingressnginx

Ajuste imagens, recursos, NifiCluster, listeners e health checks no ficheiro de valores; a lista completa de chaves está em helm show values.

Acesso

LoadBalancer

Com nifiCluster.externalServices do tipo LoadBalancer, o nome padrão do serviço costuma ser tdp-service-ip-nifi:

Terminal input
kubectl -n <namespace> get svc tdp-service-ip-nifi

Se renomear o serviço no ficheiro de valores, use o nome efetivo retornado por kubectl get svc.

Port-forward

Terminal input
kubectl -n <namespace> port-forward svc/<nifi-external-service-name> 8080:8080

Abra http://localhost:8080/nifi.

Ingress

Com ingress.enabled=true, a URL segue o host configurado:

http://<ingress-host>/nifi

Detalhes em Ingress — NiFi.

Solução de problemas

Terminal input
kubectl -n <namespace> get pods
kubectl -n <namespace> get nificlusters
kubectl -n <namespace> describe nificluster <cluster-name>
kubectl -n <namespace> get events --sort-by=.lastTimestamp

Desinstalação

Terminal input
helm uninstall <release> -n <namespace>