Ingress — Trino
O Trino pode expor dois hostnames via Ingress: um para a Web UI e outro para a Query API / JDBC. Ambos apontam para o mesmo serviço — use o hostname da Query API para conexões JDBC e clientes CLI.
Com LDAP habilitado, o Trino usa HTTPS na porta 8443; o Ingress precisa encaminhar TLS de forma compatível com o controller (muitas vezes TLS passthrough no NGINX).
Ingress vs Gateway API
TDPConfiguration.gateway.ingress e TDPConfiguration.gateway.gatewayApi são mutuamente exclusivos. Habilite apenas um deles.
Pré-requisitos
- Ingress Controller instalado no cluster (por exemplo NGINX).
- Hostnames configurados no DNS ou em
/etc/hosts.
HTTP (LDAP desabilitado)
TDPConfiguration:
gateway:
ingress:
enabled: true
ingress:
ingressClassName: <ingress-class>
hosts:
- host: trino.tdp.local
paths:
- path: /
pathType: Prefix
- host: trino-ui.tdp.local
paths:
- path: /
pathType: Prefix
tls: []
HTTPS com LDAP (exemplo NGINX passthrough)
TDPConfiguration:
gateway:
ingress:
enabled: true
ingress:
ingressClassName: <ingress-class>
annotations:
nginx.ingress.kubernetes.io/ssl-passthrough: "true"
hosts:
- host: trino.tdp.local
paths:
- path: /
pathType: Prefix
- host: trino-ui.tdp.local
paths:
- path: /
pathType: Prefix
tls:
- hosts:
- trino.tdp.local
- trino-ui.tdp.local
secretName: <nome-secret-tls>
Substitua <ingress-class> pelo nome do Ingress Controller do ambiente (verifique com kubectl get ingressclass).
Acesso
- Obtenha o IP externo do Ingress Controller:
Terminal input
kubectl get svc -A -l app.kubernetes.io/name=ingress-nginx \
-o jsonpath='{.items[0].status.loadBalancer.ingress[0].ip}' - Adicione os hostnames no DNS ou no arquivo
/etc/hosts:<INGRESS_IP> trino.tdp.local
<INGRESS_IP> trino-ui.tdp.local - Acesse:
- Web UI:
http://trino-ui.tdp.local - Query API / JDBC:
http://trino.tdp.local - Use
https://se TLS estiver configurado.
- Web UI:
Resolução de Problemas
| Problema | Causa provável | O que verificar |
|---|---|---|
| Ingress não criado | TDPConfiguration.gateway.ingress.enabled: false ou ingressClassName incorreto | Verificar ambas as configurações |
| 502 / TLS com LDAP | Sem passthrough ou backend errado | Annotations e porta do serviço/backend |
Para campos adicionais do objeto Ingress, consulte helm show values na versão do chart tdp-trino que instalou.