TDP Kubernetes
- Cluster Kubernetes: versão 1.27 ou superior
- kubectl instalado e configurado
- Helm: versão 3.2.0 ou superior
- Acesso ao registry OCI da Tecnisys (registry.tecnisys.com.br)
- Recursos mínimos recomendados no cluster:
- CPU: 16 vCPUs disponíveis
- Memória RAM: 32 GB disponíveis
- Armazenamento persistente: 200 GB disponíveis
O que é o TDP Kubernetes?
O TDP Kubernetes é a edição cloud-native da plataforma TDP, projetada para execução em clusters Kubernetes. Esta edição utiliza contêineres e orquestração para fornecer:
- Escalabilidade horizontal automática de componentes.
- Alta disponibilidade com failover automático.
- Implantação declarativa via Helm Charts ou ArgoCD.
- Isolamento de recursos e gerenciamento eficiente.
Esta solução é ideal para equipes que buscam uma plataforma de dados moderna, escalável e baseada em práticas DevOps e GitOps.
Este guia o auxiliará na implantação, configuração e acesso ao TDP Kubernetes em um cluster Kubernetes.
1. Preparação do Ambiente
Antes de iniciar a instalação, certifique-se de que o cluster Kubernetes está configurado e acessível.
1.1. Verificar acesso ao cluster
Execute o comando abaixo para validar o acesso ao cluster Kubernetes:
kubectl cluster-info
A saída deve exibir informações sobre o cluster, incluindo o endereço do API server.
1.2. Criar namespace para o TDP
O TDP Kubernetes utiliza o namespace tdp-project como padrão. Crie o namespace com o comando:
kubectl create namespace tdp-project
1.3. Configurar acesso ao registry OCI
Os Helm Charts do TDP Kubernetes estão hospedados no registry OCI da Tecnisys. Configure o acesso com suas credenciais:
helm registry login registry.tecnisys.com.br \
--username <seu-usuario> \
--password <sua-senha>
Substitua <seu-usuario> e <sua-senha> pelas credenciais fornecidas pela Tecnisys.
2. Instalação via Helm Charts
O Helm é o método recomendado para instalação de componentes individuais do TDP Kubernetes.
2.1. Adicionar o repositório Helm (se aplicável)
Caso o registry utilize repositório Helm tradicional, adicione-o:
helm repo add tecnisys https://registry.tecnisys.com.br/helm
helm repo update
2.2. Instalar componentes do TDP
Cada componente do TDP possui seu próprio Helm Chart. Exemplo de instalação do Apache Kafka:
helm install tdp-kafka oci://registry.tecnisys.com.br/helm/tdp-kafka \
--namespace tdp-project \
--version 3.0.0 \
--create-namespace
2.3. Personalizar a instalação
Você pode personalizar a instalação criando um arquivo values.yaml:
kafka:
replicas: 3
resources:
requests:
memory: "4Gi"
cpu: "2"
limits:
memory: "8Gi"
cpu: "4"
persistence:
enabled: true
size: 100Gi
Aplique a configuração durante a instalação:
helm install tdp-kafka oci://registry.tecnisys.com.br/helm/tdp-kafka \
--namespace tdp-project \
--values values.yaml
2.4. Verificar a instalação
Liste os recursos criados no namespace:
kubectl get all -n <namespace>
Verifique o status dos Pods:
kubectl get pods -n <namespace>
Todos os Pods devem estar com status Running após alguns minutos.
3. Instalação via ArgoCD (GitOps)
O ArgoCD permite gerenciar a implantação dos componentes de forma declarativa via Git.
3.1. Instalar o ArgoCD
Se o ArgoCD ainda não estiver instalado no cluster, instale-o com os comandos:
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
3.2. Acessar a interface do ArgoCD
Exponha o serviço do ArgoCD:
kubectl port-forward svc/argocd-server -n argocd 8080:443
Acesse a interface em https://localhost:8080.
A senha inicial do usuário admin pode ser obtida com:
kubectl get secret argocd-initial-admin-secret -n argocd \
-o jsonpath="{.data.password}" | base64 -d
3.3. Criar Application no ArgoCD
Crie um arquivo YAML descrevendo a aplicação TDP:
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: tdp-kafka
namespace: argocd
spec:
project: default
source:
repoURL: oci://registry.tecnisys.com.br/helm
targetRevision: 3.0.0
chart: tdp-kafka
destination:
server: https://kubernetes.default.svc
namespace: tdp-project
syncPolicy:
automated:
prune: true
selfHeal: true
Aplique a configuração:
kubectl apply -f tdp-application.yaml
O ArgoCD sincronizará automaticamente o estado desejado com o cluster.
4. Acesso aos Componentes
Após a instalação, os componentes podem ser acessados via Services do Kubernetes.
4.1. Listar Services disponíveis
kubectl get services -n <namespace>
4.2. Acessar interfaces web via Port Forwarding
Exemplo para acessar o Kafka UI:
kubectl port-forward svc/tdp-kafka-ui -n <namespace> 8080:80
Acesse a interface em http://localhost:8080.
4.3. Configurar Ingress (opcional)
Para acesso externo permanente, configure um Ingress Controller (como NGINX Ingress):
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: kafka-ui-ingress
namespace: tdp-project
spec:
rules:
- host: kafka-ui.tdp.local
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: tdp-kafka-ui
port:
number: 80
Aplique o Ingress:
kubectl apply -f kafka-ui-ingress.yaml
Configure a resolução de DNS local (/etc/hosts no Linux ou C:\Windows\System32\drivers\etc\hosts no Windows):
<IP-DO-CLUSTER> kafka-ui.tdp.local
5. Principais Componentes do TDP Kubernetes
O TDP Kubernetes é composto por diversos componentes organizados em camadas:
| Componente | Descrição | Helm Chart |
|---|---|---|
| Apache Kafka | Streaming de eventos | tdp-kafka |
| Apache NiFi | Orquestração de fluxos de dados | tdp-nifi |
| Trino | Motor de consultas SQL distribuídas | tdp-trino |
| Apache Airflow | Orquestração de workflows | tdp-airflow |
| Apache Superset | Visualização e BI | tdp-superset |
| PostgreSQL | Banco de dados relacional | tdp-postgresql |
| ClickHouse | Banco de dados OLAP | tdp-clickhouse |
Para instalar múltiplos componentes, repita os passos de instalação via Helm ou ArgoCD para cada chart.
6. Solução de Problemas
6.1. Pods não inicializam
Verifique os logs do Pod com problemas:
kubectl logs <nome-do-pod> -n <namespace>
Verifique eventos do namespace:
kubectl get events -n <namespace> --sort-by='.lastTimestamp'
6.2. Problemas de autenticação no registry
Recrie o secret de autenticação:
kubectl delete secret regcred -n <namespace>
kubectl create secret docker-registry regcred \
--docker-server=registry.tecnisys.com.br \
--docker-username=<seu-usuario> \
--docker-password=<sua-senha> \
-n <namespace>
6.3. Recursos insuficientes
Verifique o consumo de recursos no cluster:
kubectl top nodes
kubectl top pods -n <namespace>
Ajuste os limites de recursos no arquivo values.yaml e execute um upgrade:
helm upgrade tdp-kafka oci://registry.tecnisys.com.br/helm/tdp-kafka \
--namespace tdp-project \
--values values.yaml
Próximos Passos
Após concluir a instalação do TDP Kubernetes, consulte a documentação completa para:
- Configuração avançada de componentes
- Integração com ferramentas de monitoramento (Prometheus, Grafana)
- Backup e recuperação de dados
- Atualizações de versões dos componentes
- Segurança e controle de acesso (RBAC, Network Policies)
Para mais informações sobre os conceitos e arquitetura do TDP Kubernetes, consulte a seção de Conceitos na documentação.