Saltar para o conteúdo principal
Versão 3.0

Configuração do Kafka

ChartVersion3.0.1TypeapplicationAppVersion4.1.0
CompatibilidadeKubernetes1.32+OpenShift4.19+Rancher2.10.x+
Suporte a recursosLDAPsuportadoIngresssuportadoGateway APIsuportado

O chart tdp-kafka implanta um cluster Apache Kafka gerenciado pelo operador Strimzi, além de uma interface web (Kafka UI) e suporte a conectores Debezium via Kafka Connect.

Visão geral

PropriedadeValor
Charttdp-kafka
Kafka4.1.0
Versão do Chart3.0.1

Páginas relacionadas

O que é o Strimzi?

O Strimzi é um operador Kubernetes especializado no ciclo de vida de clusters Kafka. Em vez de gerenciar processos Kafka manualmente, o Strimzi traduz recursos Kubernetes nativos (como KafkaNodePool e Kafka) em brokers configurados, monitorados e atualizados de forma declarativa.

A versão 4.1.0 do chart tdp-kafka opera no modo KRaft (Kafka sem ZooKeeper). No Kafka 4.x o modo ZooKeeper foi removido, então o gerenciamento de metadados é feito pelo próprio Kafka via KRaft, o que simplifica a topologia e reduz a latência de operações de metadados.

Para saber mais

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

Componentes implantados

ComponenteDescrição
Cluster KafkaBrokers e controllers gerenciados pelo Strimzi via KafkaNodePool
Entity OperatorGerencia KafkaTopic e KafkaUser como recursos Kubernetes
Kafka UIInterface web para monitoramento, navegação de tópicos e mensagens
Kafka ConnectInfraestrutura para conectores Debezium (CDC) — opcional

Estrutura de valores (Helm)

O chart tdp-kafka distribui a configuração nos blocos abaixo:

  • Blocos raiz do cluster Kafkaname, kafkaVersion, metadataVersion, clusterLabel, listeners.*, security.*, config.*, entityOperator.* e nodePool.*.
  • tdp-kafka: — habilitação do chart.
  • kafka-ui: — configuração da interface web, autenticação, RBAC, conexão com o cluster e Service.
  • kafkaConnects: — conectores Debezium opcionais para bancos como PostgreSQL, MySQL, SQL Server e Oracle.
  • registryPushSecret: — Secret opcional para push de imagens de conectores.
  • TDP-Settings:, ingress: e gatewayApi: — controle de exposição da Kafka UI por Ingress ou Gateway API.
name: tdp-kafka
kafkaVersion: 4.1.0
metadataVersion: 4.1-IV1

listeners:
plain:
enabled: true
tls:
enabled: true

nodePool:
name: brokers
replicas: 4

tdp-kafka:
enabled: true

kafka-ui:
enabled: true

kafkaConnects:
postgres:
enabled: false

TDP-Settings:
gateway:
ingress:
enabled: false
gatewayApi:
enabled: false

Pré-requisitos

  • Kubernetes 1.32+, Red Hat OpenShift 4.19+ ou Rancher Manager 2.10.x+.
  • Helm 3.2.0+.
  • StorageClass disponível com capacidade suficiente para os volumes dos brokers.
  • CRDs do Strimzi instalados no cluster (veja seção abaixo).

Gerenciamento de CRDs do Strimzi

Os Custom Resource Definitions (CRDs) do Strimzi — como Kafka, KafkaNodePool, KafkaTopic, KafkaUser e KafkaConnect — são gerenciados separadamente do chart tdp-kafka. No TDP Kubernetes, esses CRDs são entregues pelo chart tdp-crds.

Os CRDs são recursos de escopo de cluster e não são removidos ao desinstalar o chart tdp-kafka.

Instalar CRDs antes da primeira instalação do Kafka

Antes de instalar o chart tdp-kafka pela primeira vez, instale o chart tdp-crds no cluster:

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

Atualização de versão do Strimzi

Ao atualizar a versão do TDP, atualize o chart tdp-crds antes de executar o helm upgrade do tdp-kafka.

Solução de problemas: conflito de CRD

Se o helm install ou helm upgrade retornar um erro semelhante a:

conflict with "helm" using apiextensions.k8s.io/v1: .spec.versions

confirme se o chart tdp-crds já foi atualizado para a versão esperada e repita a instalação ou atualização do tdp-kafka.

Instalação (OCI)

Para quem instala ou opera o cluster, o comando abaixo é o primeiro passo declarativo: o Helm aplica o chart tdp-kafka no namespace indicado e o Strimzi passa a reconciliar o estado desejado (brokers, Entity Operator, UI e, se habilitado, Connect). Os ajustes de comportamento — capacidade, listeners, replicação, senhas — vêm depois, via values.yaml ou helm upgrade com o mesmo release.

Terminal input
helm upgrade --install <RELEASE_NAME> oci://registry.tecnisys.com.br/tdp/charts/tdp-kafka -n <NAMESPACE> --create-namespace --timeout 10m

Validação pós-instalação

Terminal input
# Estado do cluster Kafka (recurso Strimzi)
kubectl get kafka -n <NAMESPACE>

# Node Pools do cluster
kubectl get kafkanodepools -n <NAMESPACE>

# Pods gerenciados pelo Strimzi
kubectl get pods -n <NAMESPACE> -l strimzi.io/cluster=<KAFKA_CLUSTER_NAME>

# Serviços gerados (bootstrap, brokers, UI)
kubectl get svc -n <NAMESPACE> | grep kafka

# KafkaConnect instances (Debezium)
kubectl get kafkaconnect -n <NAMESPACE>

# Conectores registrados
kubectl get kafkaconnector -n <NAMESPACE>