[Editor– Esta publicación es un extracto de nuestro completo libro electrónico, Gestión del tráfico de Kubernetes con F5 NGINX: guía práctica. Descárguelo gratis hoy mismo.]
Además del tráfico HTTP, NGINX Ingress Controller equilibra la carga del tráfico TCP y UDP, por lo que puede utilizarlo para gestionar el tráfico de una amplia variedad de aplicaciones y utilidades basadas en estos protocolos, entre ellas:
- MySQL, LDAP y MQTT – Aplicaciones basadas en TCP que se utilizan en muchas aplicaciones populares
- DNS, syslog y RADIUS – utilidades basadas en UDP utilizadas por dispositivos perimetrales y aplicaciones no transaccionales
El balanceo de carga TCP y UDP con NGINX Ingress Controller también es una solución eficaz para distribuir el tráfico de red entre aplicaciones de Kubernetes en las siguientes circunstancias:
- Utiliza cifrado de extremo a extremo (EE2E) y deja que la aplicación gestione el cifrado y el descifrado en lugar de NGINX Ingress Controller
- Necesita un balanceo de carga de alto rendimiento para aplicaciones basadas en TCP o UDP
- Quiere minimizar el número de cambios al migrar un balanceador de carga de red (TCP/UDP) existente a un entorno de Kubernetes
NGINX Ingress Controller incluye dos recursos de NGINX Ingress compatibles con el balanceo de carga TCP/UDP:
- GlobalConfiguration suelen ser utilizados por los administradores del clúster para especificar los puertos TCP/UDP (
listeners) que están disponibles para los equipos de DevOps. Tenga en cuenta que cada implementación de NGINX Ingress Controller solo puede tener un recurso GlobalConfiguration. - TransportServer suelen ser utilizados por los equipos de DevOps para configurar el equilibrio de carga TCP/UDP de sus aplicaciones. NGINX Ingress Controller solo escucha en los puertos que el administrador haya habilitado en el recurso GlobalConfiguration. Esto evita conflictos entre puertos y proporciona una capa adicional de seguridad, ya que garantiza que los equipos de DevOps solo expongan a servicios externos públicos aquellos puertos que el administrador haya determinado previamente que son seguros.
El siguiente diagrama muestra un ejemplo de caso de uso de los recursos GlobalConfiguration y TransportServer. En gc.yaml, el administrador del clúster define agentes de escucha TCP y UDP en un recurso GlobalConfiguration. En ts.yaml, un ingeniero de DevOps hace referencia al agente de escucha TCP en un recurso TransportServer que dirige el tráfico a un despliegue de MySQL.

El recurso GlobalConfiguration de gc.yaml define dos agentes de escucha: uno UDP en el puerto 514 para conectarse a un servicio syslog y otro TCP en el puerto 5353 para conectarse a un servicio MySQL.
Cargando ejemplo de código…
Las líneas 6–8 del recurso TransportServer de ts.yaml hacen referencia por su nombre al listener TCP definido en gc.yaml (mysql-tcp) y las líneas 9–14 definen la regla de enrutamiento que envía el tráfico TCP al upstream mysql-db.
Cargando ejemplo de código…
En este ejemplo, un ingeniero de DevOps utiliza el cliente MySQL para comprobar que la configuración funciona correctamente, tal como confirma la salida que muestra la lista de tablas de la base de datos rawdata_content_schema dentro del despliegue de MySQL.
$ echo “SHOW TABLES” | mysql –h <external_IP_address> -P <port> -u <user> –p rawdata_content_schema Enter Password: <password>
Tables_in_rawdata_content_schema
authors
postsLos recursos TransportServer para el tráfico UDP se configuran de forma similar; para ver un ejemplo completo, consulte Equilibrio de carga TCP/UDP básico en el repositorio de NGINX Ingress Controller en GitHub. Los usuarios avanzados de NGINX pueden ampliar el recurso TransportServer con configuración nativa de NGINX mediante la clave stream-snippets de ConfigMap, como se muestra en el ejemplo Compatibilidad con el equilibrio de carga TCP/UDP del repositorio.
Para obtener más información sobre las funcionalidades que puede configurar en los recursos TransportServer, consulte la documentación de NGINX Ingress Controller.
Este artículo es un extracto de nuestro completo libro electrónico, «Gestión del tráfico de Kubernetes con NGINX: guía práctica». Descárgalo gratis hoy mismo.
Prueba por ti mismo NGINX Ingress Controller basado en NGINX Plus con una prueba gratuita de 30 días o ponte en contacto con nosotros para hablar sobre tus casos de uso.
Sobre el autor

Artículos relacionados del blog
Ú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
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
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
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 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 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.