Saltar al contenido principal

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