‫Si ha estado pensando en sus implementaciones y
‫sus servicios en ellos, es posible que se
‫haya dado cuenta de que hasta ahora no hemos hablado de
‫OSI Layer 7,
‫o el enrutamiento de nombres HTTP, o el enrutamiento DNS,
‫o como quiera llamarlo. Básicamente, la idea de que
‫si estás en un servidor con múltiples sitios que necesitan usar los
‫mismos puertos, correcto. Puerto 80 y 443,
‫entonces necesita algo allí que enrute a diferentes
‫contenedores, basado en algo diferente al puerto.
‫Eso en Kubernetes se conoce como Ingress.
‫Es un recurso específico, y no es necesariamente un
‫equilibrador de carga ni nada que pueda
‫atribuir a un servicio.
‫Técnicamente, es algo más que se centra
‫realmente en el problema común de la mayoría de los
‫clústeres que desean ejecutar muchos sitios web
‫diferentes, o diferentes contenedores para diferentes
‫URL y nombres. Ahí es donde se enfoca
‫todo este proyecto, es el proyecto Ingress.
‫No está instalado, de manera predeterminada,
‫en su clúster de Kubernetes, pero tiene características oficiales.
‫La forma en que esto funciona es que Kubernetes
‫no inventó un proxy HTTP.
‫Simplemente proporcionan mecanismos para que
‫otros proxies de terceros utilicen funciones para
‫que pueda instalar la entrada en su clúster.
‫Luego, puede decirle a sus aplicaciones, en función de
‫cuál usa, cómo usar ese proxy para llegar a
‫su contenedor.
‫Un buen ejemplo podría ser que tenga el sitio web A. com y tienes el sitio web
‫B. com.
‫Esos serán dos despliegues diferentes.
‫Debe obtener de alguna manera los mismos puertos en todos sus
‫nodos ... es 80443.
‫Debe obtener los diferentes sitios web en
‫los diferentes contenedores. Para eso es Ingress.
‫En Swarm, no teníamos esa característica lista para usar.
‫Entonces, realmente solo tenía que implementar algunos proxies
‫como contenedor y realmente no tenía nada especial que ver
‫con ese contenedor. No entendía qué era Ingress.
‫Pero Kubernetes sí.
‫Cuando veas la documentación, el tipo de ejemplo predeterminado
‫del que todos hablan es Nginx.
‫Hemos estado usando Nginx a través de este curso.
‫Ese probablemente debería ser el que deberías probar primero.
‫Prefiero otra cosa
‫De hecho, me gusta Traefik y lo verás en algunos de mis
‫ejemplos, especialmente en mi curso Swarm.
‫Cuando me veas hablar en conferencias, a menudo
‫hablaré sobre Traefik porque era un proxy creado en el
‫mundo de los contenedores.
‫Su inicio fue alrededor de la idea de que
‫tenemos todos estos contenedores efímeros girando y apagándose, y tenemos
‫que reprogramar un proxy, y debemos preocuparnos por
‫SSL y todas las demás cosas que necesitamos para múltiples
‫sitios web en un grupo de contenedores.
‫Entonces, diseñaron este nuevo producto que ahora está generando
‫otros productos. Ahora tiene una compañía
‫completa detrás y contratos de soporte. Quizá quieras echarle
‫una ojeada a eso. Hay muchos proveedores que hacen
‫estos complementos para Kubernetes, incluidos los principales, ¿verdad?
‫HAProxy, F5 y nuevos
‫jugadores como Envoy e Istio también admiten tipos
‫de ingreso. Diré que, ya sabes, técnicamente la característica
‫de ingreso en sí misma es beta en 1. 15.
‫Cada uno de estos tendrá su propia implementación
‫dependiendo de cuál elija.
‫F5 es un equilibrador de carga de hardware externo que es realmente
‫común en la empresa.
‫Obviamente, el controlador de Ingreso ayudará a controlar
‫ese recurso externo desde el interior de sus Kubernetes.
‫El objetivo de todo esto
‫es que cuando los desarrolladores de aplicaciones escriben
‫su YAML con la gente de DevOps,
‫o tal vez con el equipo de Ops, pueden poner
‫las anotaciones en su YAML que son necesarias para el
‫ingreso controlador para averiguar qué hacer con ellos.
‫Básicamente, ¿cómo los enruto?
‫¿Cuál es el camino correcto? ¿A dónde lo llevo?
‫¿Qué puertos estoy usando? ¿Estoy tomando SSL para
‫ti? ¿Estoy obteniendo certificados? ¿Me vas
‫a dar un poco? Todo eso está manejado.
‫Primero, te sugiero que busques en los recursos.
‫Tal vez solo pruebe el Nginx por defecto.
‫Definitivamente, si no tiene una opinión,
‫pruebe Traefik porque es fácil de usar y
‫tiene muchas características, incluyendo Let's Encrypt para obtener automáticamente certificados para
‫usted y sus sitios web de forma inmediata.
‫Si conoce sus propios requisitos de hardware o requisitos de software
‫para lo que necesita hacer con Ingress, hay una lista en
‫la documentación que puede ver en los
‫recursos aquí de todas las diferentes opciones de Ingress.