Guía para elegir un controlador de Ingress, parte 4: opciones del controlador de Ingress NGINX

NGINX | 27 de septiembre de 2021

Editor – Esta publicación forma parte de una serie de 10 entregas:

  1. Reduzca la complejidad con Kubernetes preparado para producción
  2. Cómo mejorar la resiliencia en Kubernetes con una gestión avanzada del tráfico
  3. Cómo mejorar la visibilidad en Kubernetes
  4. Seis formas de proteger Kubernetes mediante herramientas de gestión del tráfico
  5. Guía para elegir un controlador de Ingress, parte 1: Identifique sus requisitos
  6. Guía para elegir un controlador de Ingress, parte 2: riesgos y preparación para el futuro
  7. Guía para elegir un controlador de Ingress, parte 3: código abierto frente a opción predeterminada frente a solución comercial
  8. Guía para elegir un controlador de Ingress, parte 4: opciones de controladores de Ingress de NGINX (este artículo)
  9. Cómo elegir una malla de servicios
  10. Pruebas de rendimiento de los controladores Ingress de NGINX en un entorno dinámico de Kubernetes en la nube

También puedes descargar la colección completa de artículos del blog como libro electrónico gratuito: «Cómo llevar Kubernetes de las pruebas a producción».

Según la Encuesta de 2020 de la Cloud Native Computing Foundation (CNCF), NGINX es el plano de datos más utilizado en los controladores de Ingress para Kubernetes, pero ¿sabía que existe más de un «controlador de Ingress de NGINX»?

Una versión anterior de este artículo, publicada en 2018 con el título «Un momento, ¿qué controlador Ingress de NGINX para Kubernetes estoy usando?», surgió a raíz de una conversación con un miembro de la comunidad sobre la existencia de dos populares controladores Ingress que utilizan NGINX.

Más o menos sabía que había dos controladores de Ingress diferentes por las ubicaciones de las imágenes de contenedor que había visto, pero creo que hasta ahora no había visto a nadie de NGINX decirlo abiertamente.

Es fácil entender por qué había (y sigue habiendo) confusión. Ambos controladores de Ingress:

  • Se llaman «NGINX Ingress Controller»
  • Código abierto
  • Alojados en GitHub con nombres de repositorio muy similares
  • El resultado de proyectos que comenzaron aproximadamente al mismo tiempo

Y, por supuesto, la mayor similitud es que implementan la misma función.

NGINX frente al controlador de Ingress de la comunidad de Kubernetes

Para mayor claridad, diferenciamos las dos versiones de la siguiente manera:

  • Versión de la comunidad – Disponible en el repositorio kubernetes/ingress-nginx de GitHub, el controlador Ingress de la comunidad se basa en NGINX Open Source y cuenta con documentación en Kubernetes.io. La comunidad de Kubernetes se encarga de su mantenimiento.
  • Versión de NGINX – Disponible en el repositorio nginxinc/kubernetes-ingress de GitHub, NGINX Ingress Controller está desarrollado y mantenido por F5 NGINX, con documentación en docs.nginx.com. Está disponible en dos ediciones:
    • Basado en NGINX Open Source (opción gratuita y de código abierto)
    • Basado en NGINX Plus (opción comercial)

También hay otros controladores Ingress basados en NGINX, como Kong, pero, afortunadamente, sus nombres se distinguen con facilidad. Si no sabes con certeza qué controlador Ingress de NGINX estás utilizando, comprueba la imagen de contenedor del controlador Ingress en ejecución y compara el nombre de la imagen de Docker con los repositorios indicados anteriormente.

Objetivos y prioridades de NGINX Ingress Controller

Una diferencia fundamental entre NGINX Ingress Controller y el controlador Ingress de la comunidad (así como otros controladores Ingress basados en NGINX Open Source) radica en sus modelos de desarrollo e implementación, que, a su vez, responden a objetivos y prioridades diferentes.

  • Filosofía de desarrollo – Nuestra máxima prioridad para todos los proyectos y productos de NGINX es ofrecer una herramienta rápida y ligera que proporcione estabilidad y coherencia a largo plazo. Hacemos todo lo posible por evitar cambios de comportamiento entre versiones, especialmente aquellos que rompan la compatibilidad con versiones anteriores. Le garantizamos que no se encontrará con sorpresas inesperadas al actualizar. También creemos en la libertad de elección, por lo que todas nuestras soluciones pueden implementarse en cualquier plataforma, incluidos servidores físicos, contenedores, máquinas virtuales y nubes públicas, privadas e híbridas.
  • Base de código integrada – NGINX Ingress Controller utiliza una instancia 100 % pura de NGINX Open Source o NGINX Plus para el balanceo de carga y aplica una configuración basada en las prácticas recomendadas utilizando únicamente las funcionalidades nativas de NGINX. No depende de módulos de terceros ni de código Lua que no se hayan sometido a nuestras pruebas de interoperabilidad. No montamos nuestro controlador Ingress a partir de numerosos repositorios de terceros; nosotros mismos desarrollamos y mantenemos el balanceador de carga (NGINX y NGINX Plus) y el software del controlador Ingress (una aplicación Go). Somos la única autoridad responsable de todos los componentes de nuestro controlador Ingress.
  • Gestión avanzada del tráfico – Una de las limitaciones del recurso Ingress estándar de Kubernetes es que se deben utilizar funciones auxiliares como anotaciones, ConfigMaps y plantillas personalizadas para incorporar funciones avanzadas. Los recursos Ingress de NGINX ofrecen un estilo de configuración nativo, con seguridad de tipos y basado en sangrías que simplifica la implementación de funciones de equilibrio de carga de Ingress, como TCP/UDP, interrupción de circuitos, pruebas A/B, despliegues azul-verde, manipulación de cabeceras, autenticación TLS mutua (mTLS) y firewall de aplicaciones web (WAF).
  • Preparación continua para producción – Cada versión se desarrolla y mantiene conforme a un estándar apto para producción y con soporte. Este enfoque de «nivel empresarial» le beneficia por igual, tanto si utiliza la edición basada en NGINX Open Source como la basada en NGINX Plus. Los usuarios de NGINX Open Source pueden obtener respuestas a sus preguntas en GitHub de nuestro equipo de ingeniería, mientras que los suscriptores de NGINX Plus reciben un soporte de primer nivel. En cualquier caso, ¡es como tener a un desarrollador de NGINX en su equipo de DevOps!

NGINX Open Source frente a NGINX Plus: ¿por qué pasarse a nuestra edición comercial?

Y ya que estamos, repasemos algunas de las principales ventajas que ofrece NGINX Ingress Controller basado en NGINX Plus. Como explicamos en Cómo elegir un controlador de entrada de Kubernetes, parte 3: código abierto frente a predeterminado y comercial, existen diferencias sustanciales entre los controladores de entrada de código abierto y los comerciales. Si está planificando grandes implementaciones de Kubernetes y aplicaciones complejas en producción, comprobará que nuestro controlador de entrada comercial le permite ahorrar tiempo y dinero en algunas áreas clave.

Seguridad y cumplimiento normativo

Una de las principales razones por las que muchas organizaciones no consiguen implementar aplicaciones de Kubernetes en producción es la dificultad de mantenerlas seguras y conformes con la normativa. NGINX Ingress Controller, basado en NGINX Plus, permite abordar cinco casos de uso fundamentales para proteger sus aplicaciones y a sus clientes.

Descubra cómo el gigante automovilístico alemán Audi protegió sus aplicaciones de Red Hat OpenShift en «Audi prepara su visión tecnológica y la innovación de aplicaciones para el futuro con NGINX».

Rendimiento y resiliencia de las aplicaciones

El tiempo de actividad y la velocidad de las aplicaciones suelen ser indicadores clave de rendimiento (KPI) para los desarrolladores y los equipos de operaciones de plataforma. NGINX Ingress Controller, basado en NGINX Plus, permite abordar cinco casos de uso que le ayudarán a aprovechar todo el potencial de Kubernetes.

  • Obtén monitorización en tiempo real – El panel de NGINX Plus muestra cientos de métricas clave de carga y rendimiento para que puedas identificar rápidamente la causa de que las aplicaciones funcionen con lentitud (¡o estén caídas!).
  • Detecte y resuelva los fallos más rápido – Implemente un disyuntor con comprobaciones de estado activas que supervisen de forma proactiva el estado de sus servidores ascendentes TCP y UDP.
  • Reconfigure sin reiniciar – Una reconfiguración más rápida y sin interrupciones le permite ofrecer aplicaciones con un rendimiento y un uso de recursos constantes, así como una latencia menor que las alternativas de código abierto.
  • Pruebe exhaustivamente las nuevas funcionalidades y los despliegues – Facilite la ejecución de pruebas A/B y despliegues azul-verde aprovechando el almacén de clave-valor para cambiar los porcentajes sin necesidad de recargas.
  • Resuelva rápidamente sus necesidades de soporte – El soporte comercial y confidencial es esencial para las organizaciones que no pueden esperar a que la comunidad responda a sus preguntas ni arriesgarse a exponer datos confidenciales. El soporte de NGINX está disponible en varios niveles para adaptarse a sus necesidades e incluye asistencia con la instalación, la implementación, la depuración y la corrección de errores. Incluso puede obtener ayuda cuando algo simplemente no parece estar «bien».

Descubre cómo Zipwhip, una empresa de mensajería de texto para empresas, logró una disponibilidad del 99,99 % para sus aplicaciones SaaS en «Refuerza la seguridad y la visibilidad del tráfico en Amazon EKS con NGINX».

Siguiente paso: pruebe NGINX Ingress Controller

Si has decidido que un controlador Ingress de código abierto es la opción adecuada para tus aplicaciones, puedes empezar rápidamente en nuestro repositorio de GitHub.

Para grandes implementaciones en producción, esperamos que pruebe nuestro controlador Ingress comercial basado en NGINX Plus. Está disponible con una prueba gratuita de 30 días que incluye NGINX App Protect.


Compartir

Sobre el autor

Jenn Gile
Jenn GileResponsable de Marketing de Producto, NGINX

Más artículos de Jenn Gile

Artículos relacionados del blog

Únete a F5 NGINX en AppWorld 2024
NGINX | 04/01/2024

Únete a F5 NGINX en AppWorld 2024

Descubre las numerosas razones para asistir al evento insignia de F5, que incluirá un emocionante anuncio sobre la cartera de productos NGINX.

Rotación de certificados SSL/TLS sin reinicios en NGINX Open Source
NGINX | 26/09/2023

Rotación de certificados SSL/TLS sin reinicios en NGINX Open Source

La función de diccionario compartido permite configurar NGINX sin necesidad de reiniciarlo al renovar los certificados SSL/TLS.

Exposición de APIs en Kubernetes
NGINX | 10/03/2022

Exposición de APIs en Kubernetes

La unidad 2 de Microservices March 2022 se centra en cómo exponer tus API en Kubernetes. Aquí tienes enlaces a los recursos que necesitas: la retransmisión en directo del 14 de marzo, artículos de blog y otros recursos de preparación, y el laboratorio práctico «Protege las API de Kubernetes mediante la limitación de solicitudes».

NGINX Sprint 2.0: visión clara, código renovado y nuevos compromisos con el código abierto
NGINX | 23/08/2021

NGINX Sprint 2.0: visión clara, código renovado y nuevos compromisos con el código abierto

Hoy, en NGINX Sprint 2.0, anunciamos cómo respaldaremos nuestra visión del futuro de las aplicaciones modernas con una mayor presencia en la comunidad de código abierto, incluida la participación en el proyecto comunitario Kubernetes, nuevos proyectos de software de código abierto y la arquitectura de referencia para aplicaciones modernas.

Presentamos NGINX Plus R22
NGINX | 09/06/2020

Presentamos NGINX Plus R22

NGINX Plus R22 incorpora nuevas funcionalidades, como la compatibilidad con OCSP para verificar la revocación de certificados en TLS mutuo, el uso de varios proveedores de identidad OIDC en una configuración, el seguimiento en tiempo real de la limitación de solicitudes y conexiones en el panel de NGINX Plus y mejoras en NGINX JavaScript.

Presentamos NGINX Plus R17
NGINX | 11/12/2018

Presentamos NGINX Plus R17

NGINX Plus R17 incorpora compatibilidad con la limitación de velocidad en dos fases y con TLS 1.3, la versión más reciente del protocolo Transport Layer Security. La configuración de OpenID Connect es más sencilla y NGINX ModSecurity WAF es el doble de rápido que antes. También se ha actualizado el módulo JavaScript de NGINX.