Saltar para o conteúdo principal
Versão 3.0.0

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 — utilize o hostname da Query API para ligações JDBC e clientes CLI.

Com LDAP habilitado, o Trino usa HTTPS na porta 8443; o Ingress precisa de 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

  1. 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}'
  2. Adicione os hostnames no DNS ou no ficheiro /etc/hosts:
    <INGRESS_IP>   trino.tdp.local
    <INGRESS_IP> trino-ui.tdp.local
  3. Aceda a:
    • Web UI: http://trino-ui.tdp.local
    • Query API / JDBC: http://trino.tdp.local
    • Use https:// se o TLS estiver configurado.

Resolução de Problemas

ProblemaCausa provávelO que verificar
Ingress não criadoTDPConfiguration.gateway.ingress.enabled: false ou ingressClassName incorretoVerificar ambas as configurações
502 / TLS com LDAPSem passthrough ou backend erradoAnnotations e porta do serviço/backend

Para campos adicionais do objecto Ingress, consulte helm show values na versão do chart tdp-trino que instalou.