Configuração do Superset
O que é o Apache Superset?
O Apache Superset é a camada de visualização de dados do TDP.
É onde analistas e gestores criam dashboards, exploram tabelas e geram gráficos sem precisar escrever SQL diretamente — embora o SQL também seja suportado para usuários avançados.
No TDP Kubernetes, o Superset se conecta ao Trino e ao ClickHouse como fontes de dados.
O Trino fornece acesso federado a todos os dados do data lake; o ClickHouse fornece queries analíticas de alta velocidade.
O Superset é o frontend que torna esses dados acessíveis a todos na organização.
Consulte Apache Superset — Conceitos para uma visão completa da ferramenta, sua arquitetura e funcionamento.
Estrutura de valores (Helm)
Os valores do Apache Superset devem ficar sob a chave tdp-superset: (alias do subchart upstream no Chart.yaml). Configurações específicas da plataforma TDP ficam sob TDP-Settings:.
TDP-Settings:
externalDatabase:
enabled: false
tdp-superset:
supersetNode:
replicaCount: 1
Arquitetura
O chart tdp-superset implanta os seguintes componentes:
| Componente | Função |
|---|---|
| Superset Web | Interface web e API (Flask/Python) |
| Celery Workers | Processam queries assíncronas e caches em background |
| Celery Beat | Agendador de tarefas periódicas (refresh de dashboards, alertas) |
| Redis (embutido) | Broker de mensagens para o Celery e cache de resultados |
| PostgreSQL (interno ou externo) | Banco de metadados do Superset (dashboards, usuários, datasources) |
| Jobs auxiliares TDP | Bootstrap de banco externo e limpeza de Secret quando habilitados |
O Superset não armazena dados de análise — ele armazena apenas as definições de dashboards, gráficos, conexões e usuários.
Para metadados, o chart pode usar o PostgreSQL embutido para instalações simples ou um PostgreSQL externo quando o ambiente exigir banco compartilhado.
Visão geral
| Propriedade | Valor |
|---|---|
| Chart | tdp-superset |
| Versão do Superset | 5.0.0 |
| Versão do Chart | 3.0.1 |
| Registry | oci://registry.tecnisys.com.br/tdp/charts/tdp-superset |
Páginas relacionadas
- Segurança — Superset:
SUPERSET_SECRET_KEY, credenciais, LDAP e boas práticas. - Integrações — Superset: importação de datasources Trino/ClickHouse.
- Exposição externa — Superset: configuração de Ingress e cuidado com recursos duplicados.
Pré-requisitos
Antes de instalar ou customizar o chart tdp-superset, confirme:
- Kubernetes 1.32+, Red Hat OpenShift 4.19+ ou Rancher Manager 2.10.x+.
- Helm 3.2.0+.
- StorageClass disponível para volumes persistentes, principalmente quando usar PostgreSQL embutido.
- Registry OCI da Tecnisys acessível pelo ambiente de instalação.
- Uma
SUPERSET_SECRET_KEYforte definida de forma segura. - Se usar PostgreSQL externo: instância acessível a partir do cluster e Secret administrativo no padrão esperado pelo chart.
- Se usar auto-import de datasources: Trino/ClickHouse e as respectivas credenciais acessíveis durante a inicialização.
- Instalação
- Parâmetros principais
- Detalhes de configuração
- Acesso & Segurança
- Solução de problemas
- Desinstalação
Instalação
helm install <RELEASE_NAME> oci://registry.tecnisys.com.br/tdp/charts/tdp-superset -n <NAMESPACE> --create-namespace --timeout 10m
Exemplo:
helm upgrade <RELEASE_NAME> oci://registry.tecnisys.com.br/tdp/charts/tdp-superset --namespace <NAMESPACE> --values values.yaml
Antes da primeira instalação, defina onde o Superset vai guardar seus metadados.
Use o PostgreSQL embutido para uma instalação inicial simples, ou configure PostgreSQL externo com TDP-Settings.externalDatabase quando o ambiente já tiver banco compartilhado.
Defina a SUPERSET_SECRET_KEY antes da instalação — ela não pode ser alterada sem planejamento após o primeiro deploy.
Parâmetros principais
| Parâmetro | Descrição | Padrão no chart |
|---|---|---|
tdp-superset.enabled | Habilita o Superset | true |
tdp-superset.fullnameOverride | Nome base dos recursos | tdp-superset |
tdp-superset.image.repository | Imagem Superset TDP com drivers e dependências | Imagem TDP Superset |
tdp-superset.extraSecretEnv.SUPERSET_SECRET_KEY | Chave secreta do Superset (obrigatória) | placeholder |
global.compatibility.openshift.adaptSecurityContext | Adaptação automática para OpenShift | force |
supersetPostgresqlPassword | Senha do usuário DB do Superset (Secret gerido pelo chart) | "" |
TDP-Settings.externalDatabase.enabled | Ativa job de bootstrap db-create-job | false |
TDP-Settings.externalDatabase.externalSecret.releaseName | Nome do Secret PostgreSQL admin | tdp-postgresql |
TDP-Settings.gateway.ingress.enabled | Renderiza Ingress TDP | false |
TDP-Settings.gateway.gatewayApi.enabled | Renderiza HTTPRoute Gateway API | false |
tdp-superset.postgresqlSecrets.name | Nome do Secret da senha do DB Superset | "" |
tdp-superset.postgresqlSecrets.passwordKey | Chave da senha dentro do Secret | superset-postgresql-password |
tdp-superset.supersetNode.connections.db_host | Host do PostgreSQL de metadados | <SERVICE_NAME>.<NAMESPACE>.svc.cluster.local |
tdp-superset.service.port | Porta da interface web/API | 8088 |
tdp-superset.datasources.autoImport.enabled | Auto-import de datasources no init | false |
tdp-superset.datasources.clickhouse.enabled | Bloco ClickHouse | false |
tdp-superset.datasources.trino.enabled | Bloco Trino | false |
Em ambientes OpenShift, o chart aplica automaticamente global.compatibility.openshift.adaptSecurityContext: force e usa tdp-superset.postgresql.postgresqlDataDir: /bitnami/postgresql/data/pgdata para evitar erros de permissão na raiz do volume do PostgreSQL embutido.
Nenhuma configuração adicional é necessária para compatibilidade básica.
PostgreSQL de metadados
Com TDP-Settings.externalDatabase.enabled=false (padrão), o chart usa o subchart PostgreSQL embutido.
Com enabled=true, o Superset conecta a um PostgreSQL externo e tdp-superset.postgresql.enabled deve ser false.
Nesse caso, o chart cria banco e usuário via Helm hook — o job db-create-job — quando simultaneamente:
TDP-Settings.externalDatabase.enabled=truetdp-superset.postgresql.enabled=falsetdp-superset.supersetNode.connections.db_type=postgresql
O job lê a senha do administrador PostgreSQL de um Secret nomeado <RELEASE_NAME>, chave postgres-password, no padrão TDP.
Esse Secret deve existir no namespace antes do upgrade.
tdp-superset:
postgresql:
enabled: false
supersetNode:
connections:
db_type: postgresql
db_host: <POSTGRESQL_SERVICE>.<NAMESPACE>.svc.cluster.local
db_name: <DATABASE_NAME>
db_user: <DATABASE_USER>
Datasources: ClickHouse e Trino
O Superset precisa conhecer as fontes de dados antes de criar gráficos ou dashboards.
Essa configuração — chamada datasource — registra a conexão com nome, host, porta e credenciais no banco de metadados do Superset.
O chart pode fazer esse registro automaticamente durante a primeira inicialização, por meio do job de init.
Para isso, dois controles precisam estar habilitados:
tdp-superset.datasources.autoImport.enabled: true— liga o mecanismo de auto-import no job de init.tdp-superset.datasources.clickhouse.enabled: truee/outdp-superset.datasources.trino.enabled: true— habilita o bloco de cada datasource individualmente.
Se autoImport.enabled estiver false (padrão), o Superset sobe sem datasources pré-cadastrados.
Nesse caso, o administrador registra as conexões manualmente pela interface após o primeiro login.
Para exemplos detalhados de configuração de cada datasource, parâmetros disponíveis e dependências de ordem, consulte Integrações — Superset.
Réplicas e recursos
O Superset é composto por processos com funções distintas e configurações de escala independentes.
Entender o papel de cada um ajuda a dimensionar corretamente o ambiente.
O nó web (supersetNode) responde às requisições HTTP e à API do Superset.
Múltiplas réplicas aumentam a disponibilidade e distribuem carga de acesso simultâneo.
Os workers Celery (supersetWorker) executam tarefas assíncronas: consultas SQL de longa duração, atualização de cache e disparo de alertas.
Aumente a quantidade de workers quando o volume de consultas assíncronas for alto ou houver fila de espera.
O Celery Beat (supersetCeleryBeat) é o agendador de tarefas periódicas — refresh automático de dashboards e alertas programados.
Uma única instância é suficiente; não é projetado para escala horizontal.
O Redis embutido é o broker de mensagens que conecta o nó web aos workers Celery e armazena o cache de resultados.
Para ambientes maiores, considere um Redis externo dedicado.
requests definem o recurso mínimo garantido ao pod; limits definem o máximo permitido.
Dimensione workers com requests adequados ao tamanho das consultas que serão processadas.
| Parâmetro | Descrição |
|---|---|
tdp-superset.supersetNode.replicas.enabled | Habilita múltiplas réplicas do nó web |
tdp-superset.supersetNode.replicas.replicaCount | Quantidade de réplicas do nó web |
tdp-superset.supersetWorker.replicas.enabled | Habilita múltiplas réplicas de workers Celery |
tdp-superset.supersetWorker.replicas.replicaCount | Quantidade de workers Celery |
tdp-superset.supersetCeleryBeat.enabled | Habilita o agendador Celery Beat |
tdp-superset.resources | Recursos do nó web (requests/limits) |
tdp-superset.supersetWorker.resources | Recursos dos workers Celery (requests/limits) |
tdp-superset.init.resources | Recursos do job de inicialização |
tdp-superset.redis.enabled | Redis embutido |
tdp-superset.postgresql.postgresqlDataDir | Diretório de dados do PostgreSQL embutido |
Segurança
A segurança do Superset abrange a chave de sessão, o usuário admin inicial, a autenticação LDAP e o Secret do PostgreSQL externo. Consulte Segurança — Superset para esses parâmetros, mapeamento de grupos, boas práticas e solução de problemas.
Exposição externa
Ingress e Gateway API são alternativas mutuamente exclusivas controladas por TDP-Settings.gateway.
Deixe tdp-superset.ingress.enabled=false quando usar o Ingress TDP, para evitar Ingress duplicado pelo subchart upstream.
Consulte Exposição externa — Superset para a configuração de Ingress e o cuidado com recursos duplicados.
Acesso local
kubectl -n <NAMESPACE> port-forward svc/<SERVICE_NAME> 8088:8088
Exemplo:
kubectl -n tdp-project port-forward svc/tdp-superset 8088:8088
Abra http://127.0.0.1:8088.
Credenciais iniciais vêm do bloco tdp-superset.init no seu arquivo de valores.
Altere-as após o primeiro login.
Solução de problemas
kubectl -n <NAMESPACE> get pods
kubectl -n <NAMESPACE> get jobs
kubectl -n <NAMESPACE> get events --sort-by=.lastTimestamp
Desinstalação
helm uninstall <RELEASE_NAME> -n <NAMESPACE>
Para a lista completa de parâmetros, execute helm show values para a versão do chart que instalou.