Pular para o conteúdo principal

🌐 Ingress

O Ingress é a "recepção" do cluster: ele recebe as visitas pela porta 80/443 e encaminha cada domínio ou caminho para o Service certo. Assim você publica vários sites com um único IP.

O cluster SaveinCloud já vem com dois Ingress Controllers instalados: Traefik e NGINX.

informação

O Ingress é criado com o kubectl. O Painel Nuvion é usado para consultar o IP que receberá o tráfego (passo 4).


🚀 Antes de começar​

  • Ter o acesso ao cluster configurado (veja Acesso ao Cluster).
  • Ter uma aplicação com Service. Crie uma seguindo a página Services (passos 1 e 2).
  • Ter um domínio, caso queira acessar por nome (opcional para testes).

🚀 1. Ver os controllers disponíveis​

kubectl get ingressclass

Anote o nome da classe que deseja usar (por exemplo, nginx ou traefik).

🚀 2. Criar o arquivo do Ingress​

Crie o arquivo web-ingress.yaml:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: web-ingress
spec:
ingressClassName: nginx # troque por traefik, se preferir
rules:
- host: app.exemplo.com.br
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: web-svc
port:
number: 80

🚀 3. Aplicar e verificar​

kubectl apply -f web-ingress.yaml
kubectl get ingress web-ingress

🚀 4. Descobrir o IP do Ingress​

Acesse Computar > IPs flutuantes (ou Computar > Balanceadores de carga) e localize o IP associado ao cluster.

IP do Ingress no painel

🚀 5. Apontar o domínio​

No painel do seu provedor de DNS, crie um registro A de app.exemplo.com.br apontando para o IP do passo 4.

🚀 6. Testar​

Com o DNS configurado, abra http://app.exemplo.com.br no navegador.

Para testar sem DNS:

curl -H "Host: app.exemplo.com.br" http://IP-DO-INGRESS

✅ Como saber se deu certo​

Aparece a página Welcome to nginx!.

❗ Problemas comuns​

SintomaCausaSolução
404 Not FoundHost ou caminho diferente do IngressConfira host e path
502 ou 503Service sem podsRode kubectl get endpoints web-svc
Não abreDNS não propagou ou porta 80 bloqueadaRevise o DNS e os Grupos de segurança
ADDRESS vazio no IngressClasse incorretaConfira o ingressClassName

🧹 Limpeza​

kubectl delete ingress web-ingress

➡️ Próximo passo: Configuração (ConfigMap)

🧠 Dúvidas?​

Fale com nosso time de suporte técnico da SaveinCloud!