Configuração do NiFi
O chart tdp-nifi implanta o Apache NiFi com o operador NiFiKop e ZooKeeper.
Visão geral
| Propriedade | Valor |
|---|---|
| Chart | tdp-nifi |
| NiFi | 1.28.0 |
| Chart | 3.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:
| Componente | Função |
|---|---|
| NiFiKop Operator | Gerencia o ciclo de vida do NifiCluster (CRD) |
| ZooKeeper | Coordenação de cluster entre os nós NiFi |
| NifiCluster | Recurso que define o cluster: nós, listeners, serviços externos |
| cert-manager | Emite 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.
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)
helm install <release> \
oci://registry.tecnisys.com.br/tdp/charts/tdp-nifi \
-n <namespace> --create-namespace
Parâmetros principais
| Parâmetro | Descrição | Padrão (referência) |
|---|---|---|
tdp-nifi.enabled | Habilitar o chart | true |
zookeeper.replicaCount | Réplicas ZooKeeper | 1 |
zookeeper.persistence.* | Storage ZooKeeper | ver helm show values |
nifikop.enabled | Operador NiFiKop | true |
nifikop.watchOwnNamespace | Watch só no namespace do release | true |
nifikop.webhook.enabled | Webhook do operador | true |
nifikop.certManager.enabled | cert-manager para webhook | true |
nifiCluster.zkAddress | Endereço ZooKeeper | <release>-zookeeper:2181 |
nifiCluster.externalServices[0].spec.type | Tipo do serviço NiFi | LoadBalancer |
ingress.enabled | Criar Ingress | true |
ingress.rules[0].host | Host do Ingress | nifi.local (exemplo de laboratório) |
ingress.ingressClassName | Classe do Ingress | nginx |
Ajuste imagens, recursos, NifiCluster, listeners e health checks no arquivo 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:
kubectl -n <namespace> get svc tdp-service-ip-nifi
Se renomear o serviço no arquivo de valores, use o nome efetivo retornado por kubectl get svc.
Port-forward
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
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
helm uninstall <release> -n <namespace>