Configuração Geral
Configuração de componentes TDP
A configuração é a etapa em que um componente TDP Kubernetes é adaptado ao ambiente e ao modo de operação adoptado.
Define como o componente será implantado, quais os recursos que utilizará, como será exposto, de quais dependências necessita e como se integrará com os restantes serviços da plataforma.
Na prática, a configuração permite ajustar parâmetros como namespace, CPU, memória, armazenamento, secrets, acesso externo, persistência e integrações partilhadas — como base de dados, armazenamento de objectos e serviços de apoio.
Assim, o mesmo componente pode ser utilizado em contextos distintos, como laboratório, homologação e produção, sem alterar a sua função principal.
Exemplos:
- Ligar o Airflow à base de dados PostgreSQL do cluster em vez de utilizar a base de dados interna
- Indicar ao Kafka quantas réplicas de broker e qual o factor de replicação mínimo
- Informar o NiFi do endereço do servidor LDAP para autenticação
- Configurar o S3 Gateway do Ozone com as credenciais correctas para que o Spark possa gravar dados
Os parâmetros de configuração aplicam-se independentemente do método de instalação utilizado.
O objectivo desta página é explicar o que pode normalmente ser configurado num componente TDP e como esses ajustes funcionam na prática.
Ao longo desta secção, são apresentados os padrões de configuração mais comuns entre os componentes TDP:
| Área | O que define | Exemplos |
|---|---|---|
| Execução no cluster | Onde e com que recursos o componente será executado. | Namespace, CPU, memória, réplicas e limites. |
| Persistência | Como os dados serão armazenados. | Volumes, disco, storage class e retenção. |
| Exposição do serviço | Como o componente será acedido. | Service, porta, ingress, hostname e TLS. |
| Segurança e acesso | Como as credenciais e dados sensíveis serão fornecidos. | Secrets, usuários, palavras-passe, tokens e referências a secrets. |
| Integrações | Como o componente se liga a outros serviços. | PostgreSQL, S3/Ozone, endpoints e serviços partilhados. |
| Forma de aplicação | Como a configuração chega ao cluster. | Helm, Argo CD/GitOps e futuramente tdpctl. |
Onde consultar os parâmetros disponíveis
Antes de personalizar a configuração de um componente, existem três fontes principais:
- A página do componente neste guia — cada componente tem uma página com os parâmetros suportados, exemplos e observações específicas do componente.
- O
values.yamldo chart — contém todos os parâmetros aceites com os seus valores predefinidos e comentários explicativos; acessível viahelm show values. - O README do chart — disponível no registry, oferece uma visão geral das opções e casos de utilização.
Execute helm show values oci://registry.tecnisys.com.br/tdp/charts/<CHART_NAME> para exportar todos os parâmetros disponíveis com os seus valores predefinidos e comentários explicativos.

Este comando exporta os valores predefinidos do chart para um ficheiro local values-padrao.yaml.
Este ficheiro pode ser utilizado como referência para identificar quais os parâmetros a ajustar para o ambiente.
Ficheiro de valores personalizado
A configuração de um componente é feita por meio de um ficheiro YAML com apenas os parâmetros que precisam de ser alterados em relação ao padrão do chart.
Não é necessário copiar o ficheiro completo de valores do chart — inclua apenas as chaves que pretende substituir.
O ficheiro de valores define o que será configurado. O Helm ou o Argo CD definem como essa configuração será aplicada ao cluster — em ambos os fluxos, o formato e os parâmetros são idênticos.
Exemplo mínimo de ficheiro de valores:
# Inclua apenas o que precisa ser diferente do padrão
resources:
requests:
cpu: "500m"
memory: "1Gi"
limits:
cpu: "2"
memory: "2Gi"
persistence:
size: 20Gi
storageClassName: "nfs-fast"
- Como aplicar a configuração
- Padrões comuns entre os charts TDP
- Decisões de ambiente que afectam a configuração
Os procedimentos a seguir mostram como aplicar os valores ao cluster via Helm ou Argo CD.
- Via Helm
- Declaração via GitOps com Argo CD
- Comandos
- Vídeos
O Helm faz merge automático dos seus valores com os predefinidos do chart — inclua apenas as chaves que pretende personalizar.
Formas de fornecer valores
Ficheiro de valores (recomendado) — crie um YAML com as chaves a alterar e passe com -f:
helm upgrade --install <RELEASE_NAME> oci://registry.tecnisys.com.br/tdp/charts/<CHART_NAME> \
-n <NAMESPACE> --create-namespace \
-f meu-values.yaml
Flag --set — para alterações pontuais directamente na linha de comando:
helm upgrade --install <RELEASE_NAME> oci://registry.tecnisys.com.br/tdp/charts/<CHART_NAME> \
-n <NAMESPACE> --create-namespace \
--set parametro.chave=valor
Combinação de ficheiros — múltiplos ficheiros mesclados por ordem, com os últimos a ter precedência:
helm upgrade --install <RELEASE_NAME> oci://registry.tecnisys.com.br/tdp/charts/<CHART_NAME> \
-n <NAMESPACE> --create-namespace \
-f values-base.yaml \
-f values-producao.yaml
Passo a passo
Antes de começar, exporte os valores aceites pelo chart. Consulte Onde consultar os parâmetros disponíveis.
- Crie o ficheiro de valores (exemplo:
meu-values.yaml):
code .\meu-values.yaml
- Ajuste os parâmetros pretendidos, como namespace, recursos ou integrações:
resources:
requests:
cpu: "500m"
memory: "1Gi"
limits:
cpu: "1"
memory: "2Gi"
- Aplique a configuração com o ficheiro criado:
helm upgrade --install <RELEASE_NAME> oci://registry.tecnisys.com.br/tdp/charts/<CHART_NAME> \
-n <NAMESPACE> --create-namespace \
-f meu-values.yaml

- Verifique se os valores configurados foram aplicados:
helm get values <RELEASE_NAME> -n <NAMESPACE>

- Verifique os pods:
kubectl get pods -n <NAMESPACE>

Para componentes stateful, como PostgreSQL, valide também:
kubectl get statefulset -n <NAMESPACE>

Para componentes que utilizam Deployment, valide também:
kubectl get deploy -n <NAMESPACE>
- Confirme que o release tem o estado
deployede que a revisão foi actualizada:
helm list -n <NAMESPACE>

- helm show values
- helm upgrade --install
- helm get values
- kubectl get pods
- kubectl get statefulset
- helm list
- Comandos
- Vídeos
Como funciona
No fluxo GitOps, a configuração do componente é declarada em ficheiros values.yaml versionados no repositório Git — exactamente os mesmos parâmetros utilizados no fluxo Helm.
Não existe um conjunto separado de parâmetros "do Argo CD": o que muda é que o Argo CD monitoriza o repositório continuamente, compara o estado declarado no Git com o estado actual do cluster e aplica as diferenças — sem necessidade de executar comandos de instalação directamente.
Três conceitos centrais orientam este fluxo:
Application — recurso Kubernetes gerido pelo Argo CD que aponta para um chart Helm e um ficheiro de valores no repositório.
Cada componente TDP tem a sua própria Application.
Sincronização (Sync) — processo pelo qual o Argo CD compara o estado declarado no Git com o estado actual do cluster e aplica as diferenças.
Pode ser automática (quando automated está activado na Application) ou manual (argocd app sync).
Reconciliação contínua — quando selfHeal: true está configurado, o Argo CD corrige automaticamente qualquer desvio entre o cluster e o Git, mesmo que alguém tenha alterado algo directamente no cluster.
Para alterar a configuração de um componente, o ficheiro de valores é editado no repositório e a alteração é enviada ao Git.
O Argo CD detecta a mudança e aplica — sem necessidade de executar comandos de instalação.
Passo a passo
- Aceda ao repositório GitOps:
cd ./tdp-GitOps
- Abra o ficheiro de valores do componente indicado na página específica do componente:
code .\caminho\do\arquivo.yaml
Ou, alternativamente:
notepad .\caminho\do\arquivo.yaml

- Ajuste os parâmetros pretendidos no ficheiro:
primary:
resources:
requests:
cpu: "500m"
memory: "512Mi"
persistence:
size: 10Gi
primary:
resources:
requests:
cpu: "1200m"
memory: "1Gi"
limits:
cpu: "1"
memory: "2Gi"
persistence:
size: 25Gi