Saltar al contenido principal

🌐 Ingress

El Ingress es la "recepción" del clúster: recibe las visitas por el puerto 80/443 y encamina cada dominio o ruta al Service correcto. Así usted publica varios sitios con una única IP.

El clúster SaveinCloud ya viene con dos Ingress Controllers instalados: Traefik y NGINX.

info

El Ingress se crea con kubectl. El Panel Nuvion se usa para consultar la IP que recibirá el tráfico (paso 4).


🚀 Antes de comenzar​

  • Tener el acceso al clúster configurado (vea Acceso al Clúster).
  • Tener una aplicación con Service. Cree una siguiendo la página Services (pasos 1 y 2).
  • Tener un dominio, si desea acceder por nombre (opcional para pruebas).

🚀 1. Ver los controllers disponibles​

kubectl get ingressclass

Anote el nombre de la clase que desea usar (por ejemplo, nginx o traefik).

🚀 2. Crear el archivo del Ingress​

Cree el archivo web-ingress.yaml:

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

🚀 3. Aplicar y verificar​

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

🚀 4. Descubrir la IP del Ingress​

Acceda a Computar > IPs flotantes (o Computar > Balanceadores de carga) y localice la IP asociada al clúster.

IP del Ingress en el panel

🚀 5. Apuntar el dominio​

En el panel de su proveedor de DNS, cree un registro A de app.ejemplo.com apuntando a la IP del paso 4.

🚀 6. Probar​

Con el DNS configurado, abra http://app.ejemplo.com en el navegador.

Para probar sin DNS:

curl -H "Host: app.ejemplo.com" http://IP-DEL-INGRESS

✅ Cómo saber si funcionó​

Aparece la página Welcome to nginx!.

❗ Problemas comunes​

SíntomaCausaSolución
404 Not FoundHost o ruta distintos del IngressVerifique host y path
502 o 503Service sin podsEjecute kubectl get endpoints web-svc
No abreEl DNS no se propagó o el puerto 80 está bloqueadoRevise el DNS y los Grupos de seguridad
ADDRESS vacío en el IngressClase incorrectaVerifique el ingressClassName

🧹 Limpieza​

kubectl delete ingress web-ingress

➡️ Próximo paso: Configuración (ConfigMap)

🧠 ¿Dudas?​

¡Hable con nuestro equipo de soporte técnico de SaveinCloud!