Saltar para o conteúdo principal
Versão 3.0

Integrações — Superset

ChartVersion3.0.1TypeapplicationAppVersion5.0.0
CompatibilidadeKubernetes1.32+OpenShift4.19+Rancher2.10.x+

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.

Exemplo
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"
CampoDescrição
hostEndereço interno do serviço ClickHouse no formato <SERVICE_NAME>.<NAMESPACE>.svc.cluster.local
portPorta HTTP do ClickHouse. O padrão é 8123
databaseBase de dados predefinida para o datasource. Use default se não houver base de dados específica
usernameUsuário com acesso de leitura ao ClickHouse
passwordPalavra-passe do usuário. Não versione em texto claro
uuidIdentificador 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.

Exemplo
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"
CampoDescrição
hostEndereço interno do serviço Trino no formato <SERVICE_NAME>.<NAMESPACE>.svc.cluster.local
portPorta do Trino. Use 8080 para HTTP sem LDAP
catalogCatálogo Trino predefinido para o datasource. Deixe vazio para que o Superset liste todos os catálogos disponíveis
usernameUsuário Trino. Para ambientes sem LDAP, qualquer valor é aceite
passwordPalavra-passe Trino. Deixe vazio quando o LDAP não estiver ativo
uuidIdentificador 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:

Exemplo
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.