Saltar para o conteúdo principal
Versão 3.0.0

Ingress — ClickHouse

A exposição do ClickHouse via Ingress permite acesso à Play UI e ao Dashboard via hostname dedicado.

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 (ex.: NGINX).
  • Hostname configurado no DNS ou em /etc/hosts.
  • TLS é opcional.

Exemplo de configuração

TDPConfiguration:
gateway:
ingress:
enabled: true

ingress:
ingressClassName: <ingress-class>
hosts:
- host: clickhouse.tdp.local
paths:
- path: /
pathType: Prefix
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 o hostname no DNS ou no arquivo /etc/hosts:
    <INGRESS_IP>   clickhouse.tdp.local
  3. Acesse:
    • Play UI: http://clickhouse.tdp.local/play
    • Dashboard: http://clickhouse.tdp.local/dashboard
    • Use https:// se TLS estiver configurado.

Resolução de Problemas

ProblemaCausaSolução
Ingress não criadoTDPConfiguration.gateway.ingress.enabled: false ou ingressClassName incorretoVerificar ambas as configurações
Host não resolveDNS ou /etc/hosts não configuradoAjustar resolução no cliente
502 Bad GatewayPod do ClickHouse não está prontoVerificar kubectl get pods -n <namespace>