Integrações — Superset
Visão geral
O chart tdp-superset pode usar um PostgreSQL externo (tdp-postgresql) como banco de metadados — consulte Configuração do Superset.
O chart tdp-superset regista datasources para Trino e ClickHouse automaticamente durante a inicialização quando tdp-superset.datasources.autoImport.enabled: true e os blocos de cada datasource estão habilitados.
O job de importação é executado em toda instalação e actualização (post-install,post-upgrade). Realiza um upsert por UUID — as conexões existentes são actualizadas, não duplicadas. Quando autoImport.enabled: false, o ConfigMap de datasources não é criado e a montagem de volume é ignorada silenciosamente.
Para que a importação funcione, os serviços de dados precisam estar acessíveis no cluster antes do término do job.
Se o auto-import falhar ou os serviços não estiverem disponíveis, os datasources podem ser registados manualmente pela interface do Superset após o deploy.
ClickHouse
O bloco tdp-superset.datasources.clickhouse configura a conexão com um cluster ClickHouse.
tdp-superset:
datasources:
autoImport:
enabled: true
clickhouse:
enabled: true
name: "ClickHouse TDP"
host: "<CLICKHOUSE_SERVICE>.<NAMESPACE>.svc.cluster.local"
port: "8123"
database: "default"
username: "<USERNAME>"
password: "<PASSWORD>"
uuid: "92122244-b262-44a6-a2ed-e49a05860dda"
| Campo | Descrição |
|---|---|
host | Endereço interno do serviço ClickHouse no formato <SERVICE_NAME>.<NAMESPACE>.svc.cluster.local |
port | Porta HTTP do ClickHouse. O padrão é 8123 |
database | Base de dados predefinida para o datasource. Use default se não houver base de dados específica |
username | Usuário com acesso de leitura ao ClickHouse |
password | Palavra-passe do usuário. Não versione em texto claro |
uuid | Identificador estável do datasource. Não altere após a primeira criação no ambiente |
Trino
O bloco tdp-superset.datasources.trino configura a conexão com um cluster Trino.
tdp-superset:
datasources:
autoImport:
enabled: true
trino:
enabled: true
name: "Trino TDP"
host: "<TRINO_SERVICE>.<NAMESPACE>.svc.cluster.local"
port: "8080"
catalog: ""
username: "<USERNAME>"
password: ""
uuid: "8a92c01b-2d6e-4fc1-a302-b6a5f0e56789"
| Campo | Descrição |
|---|---|
host | Endereço interno do serviço Trino no formato <SERVICE_NAME>.<NAMESPACE>.svc.cluster.local |
port | Porta do Trino. Use 8080 para HTTP sem LDAP |
catalog | Catálogo Trino predefinido para o datasource. Deixe vazio para que o Superset liste todos os catálogos disponíveis |
username | Usuário Trino. Para ambientes sem LDAP, qualquer valor é aceite |
password | Palavra-passe Trino. Deixe vazio quando o LDAP não estiver ativo |
uuid | Identificador estável do datasource. Não altere após a primeira criação no ambiente |
Combinar ClickHouse e Trino
Para importar ambos os datasources no mesmo deploy:
tdp-superset:
datasources:
autoImport:
enabled: true
clickhouse:
enabled: true
name: "ClickHouse TDP"
host: "<CLICKHOUSE_SERVICE>.<NAMESPACE>.svc.cluster.local"
port: "8123"
database: "default"
username: "<USERNAME>"
password: "<PASSWORD>"
uuid: "92122244-b262-44a6-a2ed-e49a05860dda"
trino:
enabled: true
name: "Trino TDP"
host: "<TRINO_SERVICE>.<NAMESPACE>.svc.cluster.local"
port: "8080"
catalog: ""
username: "<USERNAME>"
password: ""
uuid: "8a92c01b-2d6e-4fc1-a302-b6a5f0e56789"
UUID do datasource
O uuid identifica o datasource de forma estável entre deploys.
Não altere o UUID após a primeira criação num ambiente existente, pois dashboards e gráficos que referenciam esse datasource usam o UUID como chave.
Para um ambiente novo, o UUID predefinido do chart pode ser mantido ou substituído por um novo gerado localmente.
Para gerar um UUID novo localmente, use uma ferramenta de UUID v4.
Em ambientes com uuidgen:
uuidgen
Outra opção, usando Python:
python -c "import uuid; print(uuid.uuid4())"
Use o valor gerado no campo uuid do datasource antes do primeiro deploy do ambiente.
Dependência de ordem
O auto-import ocorre durante o job de inicialização do Superset.
Certifique-se de que os serviços Trino e ClickHouse estejam em execução e acessíveis antes de iniciar o deploy do Superset com autoImport.enabled: true.
Se o job de init for executado antes dos datasources estarem prontos, o import falhará e terá de ser refeito manualmente.
Validação de acessibilidade
Antes de habilitar o auto-import, confirme se os Services de Trino e ClickHouse existem no namespace esperado:
kubectl -n <NAMESPACE> get svc
Valide também a conectividade a partir de dentro do cluster.
Para Trino, o endpoint /v1/info confirma que o serviço HTTP está a responder:
kubectl -n <NAMESPACE> run trino-check --rm -it --image=curlimages/curl --restart=Never -- curl -sS http://<TRINO_SERVICE>.<NAMESPACE>.svc.cluster.local:8080/v1/info
Para ClickHouse, o endpoint /ping deve devolver Ok:
kubectl -n <NAMESPACE> run clickhouse-check --rm -it --image=curlimages/curl --restart=Never -- curl -sS http://<CLICKHOUSE_SERVICE>.<NAMESPACE>.svc.cluster.local:8123/ping
Se a importação falhar, consulte os jobs e logs de inicialização do Superset:
kubectl -n <NAMESPACE> get jobs
kubectl -n <NAMESPACE> logs job/<JOB_NAME>
Registo manual pela interface
Quando o auto-import estiver desabilitado, falhar no init ou a fonte de dados for criada depois do deploy, registe o datasource pela interface do Superset.
Na UI, aceda a Settings > Database Connections e crie uma nova conexão.
Use os mesmos dados previstos no bloco do chart: nome do datasource, host, porta, usuário, palavra-passe e base de dados ou catálogo predefinido.
Para ClickHouse, normalmente informe a porta HTTP 8123 e a base de dados predefinida.
Para Trino, informe a porta 8080 para HTTP sem LDAP, o usuário Trino e, quando necessário, o catálogo inicial.
Depois de guardar, use a ação de teste de conexão da própria interface antes de criar datasets, gráficos ou dashboards.
Segurança e credenciais
Não versione palavras-passe de datasources em texto claro.
Para ambientes de produção, injete as palavras-passe via Secret do Kubernetes usando secretKeyRef em extraEnvRaw, ou use ferramenta de gestão de segredos.
Consulte Segurança — Superset para boas práticas de credenciais e configuração de LDAP.