Pré-requisitos
Esta seção descreve os pré-requisitos necessários para a instalação do TDP Kubernetes. Certifique-se de que todos os itens estejam atendidos antes de iniciar o processo de instalação dos componentes.
Requisitos de Infraestrutura
Cluster Kubernetes
- Kubernetes versão 1.27 ou superior
- Cluster operacional com pelo menos 3 worker nodes (recomendado para alta disponibilidade)
- Acesso administrativo ao cluster via
kubectl
Ferramentas de Linha de Comando
| Ferramenta | Versão Mínima | Descrição |
|---|---|---|
kubectl | 1.27+ | CLI do Kubernetes, configurado para o cluster de destino |
helm | 3.2.0+ | Gerenciador de pacotes Kubernetes para instalação dos charts |
Verifique as versões instaladas:
kubectl version --client
helm version
Classes de Armazenamento (Storage Classes)
O TDP Kubernetes requer Storage Classes configuradas no cluster para provisionamento dinâmico de volumes persistentes.
| Modo de Acesso | Uso | Obrigatório |
|---|---|---|
| ReadWriteOnce (RWO) | Utilizado pela maioria dos componentes (PostgreSQL, Kafka, ClickHouse, etc.) | Sim |
| ReadWriteMany (RWX) | Necessário para o Apache Airflow (compartilhamento de DAGs e logs entre workers) | Condicional |
O modo ReadWriteMany (RWX) é obrigatório apenas se o Apache Airflow for instalado em modo cluster. Soluções como NFS, CephFS ou Azure Files podem fornecer suporte a RWX.
Verifique as Storage Classes disponíveis no cluster:
kubectl get storageclass
Exposição HTTP/HTTPS dos componentes
É necessário possuir uma solução de entrada de tráfego HTTP/HTTPS para expor as interfaces web de alguns componentes do TDP Kubernetes, como Airflow, Superset, ArgoCD, NiFi e JupyterHub.
Ingress Controller
O ambiente pode utilizar um controlador Ingress para publicação dos serviços web no cluster.
Exemplos comuns:
- NGINX Ingress Controller
- Traefik
- HAProxy
- AWS Load Balancer Controller
Verifique se há um controlador Ingress instalado no cluster. Exemplo com NGINX Ingress Controller:
kubectl get ingressclass
Gateway API
O ambiente também pode utilizar Gateway API, desde que o cluster possua os recursos e o controller compatível já instalados.
Exemplo de verificação:
kubectl get gatewayclass
A API Ingress no Kubernetes está congelada e não recebe novas evoluções. Além disso, o projeto Ingress NGINX foi retirado em março de 2026. O uso de Ingress Controller ou Gateway API deve seguir a estratégia adotada para o ambiente e as implementações suportadas no cluster.
Configuração de Rede
DNS
- Os nodes do cluster Kubernetes devem possuir resolução DNS funcional
- Recomenda-se configurar registros DNS para os serviços expostos via Ingress (ex.:
airflow.tdp.exemplo.com.br,superset.tdp.exemplo.com.br)
Politicas de Rede (Network Policies)
- Certifique-se de que as Network Policies do cluster permitam a comunicação entre os pods do namespace.
- Os componentes do TDP precisam se comunicar livremente dentro do mesmo namespace
- Caso utilize Network Policies restritivas, configure regras que permitam o trafego ingress e egress entre os pods do TDP
Certificados TLS/SSL (Opcional)
Para habilitar HTTPS nos serviços expostos via Ingress:
- Provisione certificados TLS/SSL para os domínios configurados
- Utilize o cert-manager para automação de certificados com Let's Encrypt ou CA interna
- Configure os certificados nos recursos Ingress de cada componente
Autenticação no Registry OCI
O TDP distribui os seus Helm charts1 por meio de um registry OCI no endereço oci://registry.tecnisys.com.br/tdp/. Este serviço funciona de forma semelhante a um registry de imagens, mas destina-se ao armazenamento e à distribuição de pacotes Helm.
O URI oci://registry.tecnisys.com.br/tdp/ é o identificador utilizado nos comandos do Helm e noutras ferramentas compatíveis com OCI para localizar o registry.
Em fluxos GitOps com Argo CD, a autenticação no registry é configurada diretamente no próprio Argo CD. Nesse caso, este procedimento de autenticação via CLI não é utilizado.
- Comandos
- Vídeos
-
Portal Web — Aceda ao portal do registry Tecnisys com as credenciais fornecidas pela Tecnisys. Após o início de sessão, gere ou copie a credencial de utilização em linha de comando, apresentada no portal como CLI Secret ou token de acesso.
Figura 1 - Login no Registry Web
Figura 2 - Captura do CLI Secret
Normalmente, este processo precisa de ser feito apenas uma vez por ambiente ou contexto. Depois disso, o Helm passa a reutilizar a autenticação já armazenada na máquina local ou no agente de CI.
-
Terminal — Autentique o Helm no registry OCI para aceder aos charts da plataforma.
Terminal inputhelm registry login registry.tecnisys.com.br -u <usuario@tecnisys...>Ao executar o comando, o terminal pedirá a palavra-passe:
Password:Introduza o CLI Secret / token obtido no passo 1.
Se a autenticação for concluída com sucesso, o Helm apresentará a confirmação de início de sessão e, a partir desse momento, será possível listar e instalar os charts disponíveis no registry.
NotaAs credenciais de acesso ao registry devem ser obtidas junto da Tecnisys. Caso ainda não tenha acesso, contacte a equipa responsável para solicitar o utilizador autorizado e a credencial de utilização na CLI.
Figura 3 - Registry Login via Helm -
Após a autenticação, verifique o acesso listando um chart de exemplo:
Terminal inputhelm show chart oci://registry.tecnisys.com.br/tdp/charts/tdp-spark
Figura 4 - Show chart - exemplo
- Login no Registry Web
- Portal Web (CLI Secret)
- Obtenção do CLI Secret
Lista de Verificação
Antes de prosseguir para a instalação, confirme todos os itens abaixo:
- Cluster Kubernetes 1.27+ operacional
-
kubectlconfigurado e conectado ao cluster -
helm3.2.0+ instalado - Storage Class com suporte a ReadWriteOnce disponível
- Storage Class com suporte a ReadWriteMany disponível (se for instalar o Airflow no modo cluster)
- Solução de entrada HTTP/HTTPS (Ingress Controller ou Gateway API) instalada e operacional
- Recursos computacionais suficientes nos nodes do cluster
- Resolução DNS configurada para os nodes
- Autenticação no registry (
helm registry login registry.tecnisys.com.br) realizada com sucesso - Certificados TLS/SSL provisionados (opcional)
Footnotes
-
Helm chart: pacote que reúne templates de manifestos Kubernetes e valores por omissão; o Helm aplica esse pacote no cluster para criar ou atualizar os recursos do componente, ajustáveis via ficheiros de valores ou flags. ↩