Quiz Módulo 8 - Ingress y Balanceo de Carga
Instrucciones
Este quiz contiene 30 preguntas de opción múltiple.
Pregunta 1
¿Qué es Ingress en Kubernetes?
Ver explicación
Respuesta correcta: Un recurso que expone los Servicios HTTP/HTTPS desde fuera del clúster
Explicación: Ingress permite el enrutamiento HTTP/HTTPS basado en la ruta o el hostname, con soporte TLS/SSL.
Pregunta 2
¿Qué es un Ingress Controller?
Ver explicación
Respuesta correcta: Un Pod que monitorea los recursos Ingress y configura un load balancer para exponerlos
Explicación: Un Ingress Controller (como NGINX Ingress, Traefik) monitorea los recursos Ingress y configura un reverse proxy/load balancer para exponer los Servicios.
Pregunta 3
¿Cuál es el Ingress Controller más popular?
Ver explicación
Respuesta correcta: NGINX Ingress Controller
Explicación: NGINX Ingress Controller es el más popular y ampliamente utilizado, mantenido por la comunidad de Kubernetes y NGINX.
Pregunta 4
¿Qué es ingressClassName en un recurso Ingress?
Ver explicación
Respuesta correcta: La clase de Ingress que especifica qué Ingress Controller debe gestionar este recurso
Explicación: ingressClassName permite especificar qué Ingress Controller debe gestionar este recurso Ingress, útil cuando hay varios Ingress Controllers instalados.
Pregunta 5
¿Cómo se configura TLS/SSL para un Ingress?
Ver explicación
Respuesta correcta: A través de la sección tls con un Secret que contiene el certificado y la clave privada
Explicación: La sección tls en un Ingress referencia un Secret de tipo kubernetes.io/tls que contiene tls.crt (certificado) y tls.key (clave privada).
Pregunta 6
¿Qué es cert-manager?
Ver explicación
Respuesta correcta: Un operador de Kubernetes que gestiona automáticamente los certificados TLS/SSL
Explicación: cert-manager obtiene, renueva y gestiona automáticamente los certificados TLS desde Let's Encrypt u otras autoridades de certificación.
Pregunta 7
¿Cuál es la diferencia entre un Ingress y un Service LoadBalancer?
Ver explicación
Respuesta correcta: Ingress permite el enrutamiento HTTP/HTTPS basado en la ruta/hostname, LoadBalancer expone un Service directamente
Explicación: Ingress ofrece un enrutamiento avanzado (varios Servicios a través de un solo punto de entrada), mientras que LoadBalancer expone un solo Service directamente.
Pregunta 8
¿Qué es un pathType en una regla Ingress?
Ver explicación
Respuesta correcta: La forma en que se interpreta la ruta: Exact, Prefix o ImplementationSpecific
Explicación: pathType determina cómo se hace el match de la ruta: Exact (coincidencia exacta), Prefix (coincidencia de prefijo), o ImplementationSpecific (depende de la implementación).
Pregunta 9
¿Cuál es el comando para ver los Ingress?
Ver explicación
Respuesta correcta: kubectl get ingress
Explicación: kubectl get ingress (o ing) muestra todos los Ingress y su estado, incluyendo las direcciones IP asignadas.
Pregunta 10
¿Qué es una anotación en un Ingress?
Ver explicación
Respuesta correcta: Metadatos que configuran el comportamiento del Ingress Controller
Explicación: Las anotaciones permiten configurar funcionalidades específicas del Ingress Controller (rewrite rules, SSL redirect, etc.).
Pregunta 11
¿Qué es un Ingress con varias reglas?
Ver explicación
Respuesta correcta: Un Ingress que puede enrutar a varios Servicios basado en diferentes hostnames o rutas
Explicación: Un Ingress puede tener varias reglas, cada una definiendo un enrutamiento diferente basado en el hostname o la ruta, permitiendo exponer varios Servicios a través de un solo punto de entrada.
Pregunta 12
¿Cuál es el comando para instalar NGINX Ingress Controller?
Ver explicación
Respuesta correcta: kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/main/deploy/static/provider/cloud/deploy.yaml
Explicación: NGINX Ingress Controller puede instalarse mediante kubectl apply con el manifiesto oficial, o mediante Helm.
Pregunta 13
¿Qué es un Ingress con rewrite-target?
Ver explicación
Respuesta correcta: Un Ingress que reescribe la ruta de la URL antes de enviarla al Service backend
Explicación: La anotación nginx.ingress.kubernetes.io/rewrite-target permite modificar la ruta de la URL, útil cuando el Service backend espera una ruta diferente.
Pregunta 14
¿Cuál es la diferencia entre un Ingress y un Service NodePort para exponer una aplicación?
Ver explicación
Respuesta correcta: Ingress ofrece enrutamiento HTTP/HTTPS y TLS, NodePort expone directamente en un puerto
Explicación: Ingress permite el enrutamiento basado en la ruta/hostname con soporte TLS, mientras que NodePort simplemente expone un Service en un puerto estático.
Pregunta 15
¿Qué es un Ingress con pathType: Prefix?
Ver explicación
Respuesta correcta: Un Ingress donde la ruta coincide si la URL comienza con el prefijo especificado
Explicación: pathType: Prefix significa que la ruta coincide si la URL comienza con el prefijo (por ejemplo: /api coincide con /api/v1/users).
Pregunta 16
¿Cuál es el comando para ver los Pods del Ingress Controller?
Ver explicación
Respuesta correcta: kubectl get pods -n ingress-nginx (o el namespace donde está instalado el Ingress Controller)
Explicación: Los Ingress Controllers normalmente se ejecutan en un namespace dedicado (como ingress-nginx). Use -n para especificar el namespace.
Pregunta 17
¿Qué es un Ingress con varios hostnames?
Ver explicación
Respuesta correcta: Un Ingress que puede enrutar a diferentes Servicios basado en el hostname de la solicitud
Explicación: Un Ingress puede tener varias reglas con diferentes hostnames, permitiendo enrutar a diferentes Servicios según el dominio de la solicitud (ej: app1.example.com, app2.example.com).
Pregunta 18
¿Cuál es la buena práctica para exponer varias aplicaciones vía Ingress?
Ver explicación
Respuesta correcta: Usar un Ingress con varias reglas basadas en el hostname o la ruta
Explicación: Un solo Ingress con varias reglas es más eficiente y fácil de gestionar que varios Ingress, permitiendo exponer varios Servicios a través de un solo punto de entrada.
Pregunta 19
¿Qué es un Ingress con la anotación ssl-redirect?
Ver explicación
Respuesta correcta: Un Ingress que redirige automáticamente el tráfico HTTP a HTTPS
Explicación: La anotación nginx.ingress.kubernetes.io/ssl-redirect: "true" fuerza la redirección de HTTP a HTTPS para mejorar la seguridad.
Pregunta 20
¿Cuál es la diferencia entre un Ingress y un Service Mesh?
Ver explicación
Respuesta correcta: Ingress gestiona el tráfico entrante HTTP/HTTPS, Service Mesh gestiona la comunicación entre servicios con observabilidad y seguridad
Explicación: Ingress es para el tráfico entrante externo, mientras que un Service Mesh (como Istio) gestiona la comunicación entre microservicios con mTLS, observabilidad y control de tráfico.
Pregunta 21
¿Qué es un Ingress con backend service?
Ver explicación
Respuesta correcta: Un Ingress que enruta el tráfico a un Service de Kubernetes especificado
Explicación: Cada regla en un Ingress especifica un backend service que recibe el tráfico correspondiente al hostname/ruta de la regla.
Pregunta 22
¿Cuál es el comando para probar un Ingress localmente?
Ver explicación
Respuesta correcta: curl -H "Host: [hostname]" http://[ingress-ip] o usar port-forward al Ingress Controller
Explicación: Para probar un Ingress, use curl con el header Host para especificar el hostname, o use kubectl port-forward para acceder al Ingress Controller localmente.
Pregunta 23
¿Qué es un Ingress con defaultBackend?
Ver explicación
Respuesta correcta: Un Ingress que especifica un Service por defecto para las solicitudes que no coinciden con ninguna regla
Explicación: defaultBackend permite definir un Service que recibe el tráfico que no coincide con ninguna regla, útil para una página 404 personalizada.
Pregunta 24
¿Cuál es la buena práctica para gestionar los certificados TLS con Ingress?
Ver explicación
Respuesta correcta: Usar cert-manager para la gestión automática de certificados con Let's Encrypt
Explicación: cert-manager automatiza la obtención, renovación y gestión de los certificados TLS, eliminando el trabajo manual y garantizando certificados válidos.
Pregunta 25
¿Qué es un Ingress con CORS (Cross-Origin Resource Sharing)?
Ver explicación
Respuesta correcta: Un Ingress configurado con anotaciones para permitir solicitudes cross-origin
Explicación: Las anotaciones CORS (como nginx.ingress.kubernetes.io/enable-cors) permiten configurar los encabezados CORS para permitir solicitudes desde diferentes dominios.
Pregunta 26
¿Cuál es la diferencia entre un Ingress y un API Gateway?
Ver explicación
Respuesta correcta: Ingress es para enrutamiento HTTP/HTTPS básico, API Gateway ofrece funcionalidades avanzadas (rate limiting, autenticación, transformación)
Explicación: Ingress ofrece enrutamiento básico, mientras que un API Gateway (como Kong, Ambassador) ofrece funcionalidades avanzadas como rate limiting, autenticación, transformación de solicitudes, etc.
Pregunta 27
¿Qué es un Ingress con rate limiting?
Ver explicación
Respuesta correcta: Un Ingress configurado con anotaciones para limitar el número de solicitudes por cliente
Explicación: Las anotaciones de rate limiting (como nginx.ingress.kubernetes.io/limit-rps) permiten limitar el número de solicitudes por segundo para proteger los backends.
Pregunta 28
¿Cuál es el comando para ver los logs del Ingress Controller?
Ver explicación
Respuesta correcta: kubectl logs -n ingress-nginx [ingress-controller-pod-name]
Explicación: Los logs del Ingress Controller están en los Pods del Ingress Controller. Use kubectl logs con el namespace y el nombre del Pod.
Pregunta 29
¿Qué es un Ingress con session affinity?
Ver explicación
Respuesta correcta: Un Ingress configurado para dirigir las solicitudes de un mismo cliente al mismo Pod backend
Explicación: La session affinity (sticky sessions) garantiza que las solicitudes de un mismo cliente siempre vayan al mismo Pod backend, útil para sesiones de aplicación.
Pregunta 30
¿Cuál es la buena práctica para exponer una aplicación en producción con Ingress?
Ver explicación
Respuesta correcta: Usar HTTPS con cert-manager, configurar ssl-redirect y usar anotaciones para la seguridad
Explicación: En producción, siempre use HTTPS con cert-manager para certificados automáticos, active ssl-redirect y configure las anotaciones de seguridad apropiadas.
Resultado del Quiz
¡Felicitaciones por haber completado el quiz del Módulo 8!
Puntaje:
- 25-30 respuestas correctas: ¡Excelente! Usted domina Ingress y Balanceo de Carga.
- 20-24 respuestas correctas: ¡Muy bien! Revise los conceptos donde tuvo dificultades.
- 15-19 respuestas correctas: ¡Bien! Revise los capítulos sobre Ingress e Ingress Controllers.
- Menos de 15: Se recomienda repasar el módulo antes de continuar.
Quiz creado el: Diciembre 2024