¿Qué son ingreso y egreso en Kubernetes?

Vista aérea de dos personas sentadas en una mesa con curvas

Autores

Stephanie Susnjara

Staff Writer

IBM Think

Ian Smalley

Staff Editor

IBM Think

¿Qué son ingreso y egreso en Kubernetes?

En Kubernetes, ingreso y egreso se refieren a cómo el tráfico de red entra y sale de un entorno de aplicaciones en contenedores nativos de la nube.

  • Ingreso rige la forma en que los usuarios o sistemas externos acceden a los servicios dentro de un clúster de Kubernetes .
  • Egreso define el modo en que los servicios internos acceden a sistemas externos al clúster, como API, bases de datos o herramientas de terceros.

Estos flujos de tráfico son fundamentales para ejecutar aplicaciones modernas dentro de la infraestructura de la nube. Gestionarlos de manera eficaz admite una amplia gama de casos de uso, como enrutar el tráfico de clientes a aplicaciones web o acceder de forma segura a API de terceros.

En el mundo actual impulsado por la computación en la nube, Kubernetes impulsa cargas de trabajo cada vez más críticas . Como resultado, la capacidad granular de controlar el tráfico se convirtió en algo esencial para mantener el rendimiento, aplicar medidas de seguridad y cumplir los requisitos de cumplimiento.

¿Cómo funciona Kubernetes?

Kubernetes, también conocido como k8s o kube, es una plataforma de orquestación de contenedores que automatiza el despliegue, el escalado y el mantenimiento de aplicaciones en un grupo de recursos informáticos. En lugar de gestionar los servidores directamente, los equipos de DevOps y TI utilizan Kubernetes para ejecutar aplicaciones en contenedores, unidades de software ligeras y autónomas que incluyen todo lo necesario para ejecutar una aplicación.

Según un informe de la CNCF, Kubernetes es el segundo proyecto de código abierto más grande del mundo (después de Linux) y la principal herramienta de orquestación de contenedores para el 71% de las empresas de Fortune 100.

Docker es la herramienta más empleada para crear imágenes de contenedores. En Kubernetes, los contenedores se agrupan en unidades llamadas pods, que son las unidades desplegables más pequeñas y pueden contener uno o más contenedores. Kubernetes programa estos pods en un clúster de máquinas conocidas como nodos.

Los pods y sus Recursos relacionados se organizan en namespaces, que proporcionan una separación lógica para gestionar diferentes equipos, proyectos o entornos dentro del mismo clúster. Kubernetes maneja la funcionalidad clave del clúster, como el equilibrio de carga, la conmutación por error, el escalado y la autocorrección, abstrayendo gran parte de la complejidad de la infraestructura de bajo nivel.

Dentro de un clúster de Kubernetes, los servicios a menudo necesitan comunicar entre sí y, a veces, con sistemas externos. Kubernetes gestiona y controla el tráfico de una manera que aísla los componentes internos para mejorar el rendimiento y la seguridad. Como resultado, tanto el tráfico entrante como el saliente deben definir, gestionar y configurar explícitamente.

Ingreso vs. egreso de Kubernetes

En informática básica, ingreso versus egreso se refiere al tráfico entrante frente al saliente en una red o sistema. Ingreso y egreso de Kubernetes proporcionan a los equipos de la plataforma un marco controlado para gobernar cómo fluye el tráfico dentro y fuera del clúster de Kubernetes. Este aspecto es esencial para operar entornos de producción seguros y escalables.

IBM Cloud

Red Hat OpenShift AI on IBM Cloud: desplegar cargas de trabajo de IA

Utilice las capacidades de IA con Red Hat OpenShift on IBM Cloud. Este video explora cómo construir, desplegar y administrar cargas de trabajo de IA de manera eficiente con una plataforma escalable de operaciones de machine learning.

¿Qué es ingreso en Kubernetes?

Ingreso se refiere al tráfico entrante de usuarios o sistemas externos a un clúster de Kubernetes, normalmente a través de HTTP o HTTPS (ambos funcionan con el protocolo TCP). En lugar de exponer todos los servicios directamente a Internet, las organizaciones definen las reglas de entrada a través de un recurso de ingreso. Este recurso se escribe normalmente en YAML, que indica a Kubernetes cómo enrutar el tráfico según criterios como las rutas de URL o los nombres de dominio.

Las reglas de ingreso se aplican mediante un controlador de ingreso, una pieza de software (a menudo basada en NGINX u otro proxy inverso) que sirve como punto de entrada real. El controlador recibe las solicitudes entrantes, descifra el tráfico si es necesario y lo reenvía al servicio correcto dentro del clúster.

Por ejemplo, las reglas de ingreso pueden configurarse para hacer lo siguiente:

  • Dirigir el tráfico a api.company.com a un servicio de API de backend que gestione las solicitudes de datos.
  • Dirigir el tráfico a app.company.com hacia una aplicación frontend con la que interactúen los usuarios.
  • Gestionar todas las solicitudes HTTPS a través de un único certificado TLS gestionado en la capa de ingreso de Kubernetes, simplificando la seguridad y la gestión de certificados.

Beneficios del ingreso en Kubernetes

  • Eficiencia de costos: el ingreso permite que múltiples servicios Comparten un único balanceador de carga externo, lo que reduce los costos de infraestructura de TI, especialmente en entornos de microservicios con muchas aplicaciones desplegadas de forma independiente.
  • Operaciones simplificadas: el enrutamiento centralizado, la configuración de dominios y la administración de certificados ayudan a reducir la complejidad administrativa y a garantizar la consistencia en todos los servicios.
  • Seguridad mejorada: la terminación SSL/TLS para el tráfico de entrada se produce en un único punto de control, y las políticas, como la limitación de velocidad, la autenticación o los cortafuegos de aplicaciones web, se pueden aplicar de manera uniforme. Esta configuración ayuda a prevenir amenazas de seguridad comunes, como el acceso no autorizado, al aplicar controles de seguridad antes de que el tráfico llegue a los servicios de backend.
  • Mejor escalabilidad: el ingreso admite el enrutamiento basado en rutas y nombres de host, lo que facilita la ampliación de los servicios detrás de un único punto de entrada flexible. Por ejemplo, el enrutamiento basado en rutas de API permite a los equipos escalar a escala servicios de forma independiente sin agregar nuevos destinos externos.

Ingreso en comparación con los tipos de servicio de Kubernetes

Kubernetes proporciona varios métodos integrados para exponer servicios fuera del clúster. El recurso ingreso funciona con ciertos tipos de servicios, pero ofrece un enfoque más flexible y centralizado, especialmente para el tráfico basado en la web.

Estos son algunos de los tipos de servicio más comunes:

  • ClusterIP expone los servicios solo dentro del clúster. Es útil para la comunicación interna de servicio a servicio, pero no se puede acceder a ella externamente.
  • NodePort abre un puerto específico en cada nodo del clúster para exponer un servicio externamente. Aunque simple, es inflexible y expone directamente la infraestructura a nivel de nodo, lo que plantea problemas operativos y de seguridad.
  • LoadBalancer aprovisiona un balanceador de cargas gestionado por el proveedor de servicios en la nube para cada servicio. Esto funciona bien para el acceso externo, pero no se puede escalar de manera eficiente, ya que cada nuevo servicio requiere su propio equilibrador de carga, lo que aumenta la complejidad y el costo.
  • Gateway API actúa como una puerta de enlace API y proporciona enrutamiento de tráfico avanzado, flexible y extensible y gestión de políticas más allá de los recursos tradicionales de ingreso.

En comparación, el recurso ingreso permite acceder a varios servicios a través de una única dirección IP externa mediante el uso de reglas de enrutamiento inteligentes, basadas en nombres de dominio o rutas. Centraliza el manejo y el control del tráfico HTTP(S), lo que lo convierte en una opción sólida para las cargas de trabajo de producción.

¿Qué es egreso en Kubernetes?

Egreso se refiere al tráfico saliente, cuando los servicios dentro del clúster de Kubernetes necesitan comunicarse con destinos o sistemas de tráfico externos (por ejemplo, API, servicios en la nube, bases de datos, etc.). Aunque Kubernetes permite el tráfico saliente sin restricciones de forma predeterminada, esta política abierta rara vez es adecuada para entornos de producción.

Las organizaciones suelen querer controlar y monitorear qué servicios pueden conectarse a los endpoints externos, tanto por razones de seguridad como de cumplimiento. Por ejemplo, una empresa de venta minorista podría querer que su servicio de pago llegue solo a las pasarelas de pago aprobadas y bloquee todos los demás destinos.

Cómo gestionar egreso en Kubernetes

Kubernetes proporciona varios métodos para gestionar la salida de forma eficaz y segura. Al implementar estos controles, las organizaciones pueden garantizar que solo el tráfico autorizado fluya a redes externas, lo que mejora la seguridad y el cumplimiento.

Políticas de red

Las políticas de red de Kubernetes pueden restringir qué pods están permitidos para hacer conexiones de salida y especificar las direcciones o dominios que pueden alcanzar, a menudo utilizando la notación CIDR para los rangos de IP. Estas políticas admiten modelos de confianza cero al permitir solo la comunicación explícitamente autorizada. Las reglas de egreso dentro de estas políticas de red definen las restricciones del tráfico saliente, controlando a qué destinos externos pueden acceder los pods.

Puertas de enlace de egreso

Las puertas de enlace de salida, a menudo desplegadas como parte de una malla de servicios, pueden enrutar todo el tráfico saliente a través de un punto de control monitoreado, lo que permite un control avanzado del tráfico, cifrado y observabilidad.

Nodos de egreso dedicados

También se pueden utilizar nodos de egreso dedicados o puertas de enlace NAT para centralizar y registrar las conexiones salientes, proporcionando trazabilidad y un mejor aislamiento del rendimiento.

Beneficios del egreso en Kubernetes

  • Protección de datos robusta: las políticas de red de egreso ayudan a restringir el tráfico saliente, lo que reduce el riesgo de fugas de datos o servicios comprometidos que se conectan a endpoint maliciosos.
  • Cumplimiento: el control del tráfico de egreso de Kubernetes garantiza que las cargas de trabajo confidenciales cumplan con los requisitos normativos al limitar las conexiones a los puntos finales aprobados y proporcionar visibilidad de las auditorías.
  • Control de costos mejorado: la gestión del tráfico de egreso ayuda a evitar cargos inesperados en la nube por llamadas salientes no controladas o grandes transferencias de datos.
  • Mayor observabilidad: la gestión del tráfico de egreso ofrece visibilidad de los sistemas externos en los que se basan las aplicaciones, lo que facilita la gestión de proveedores, la depuración y la identificación de dependencias de servicios externos.
Soluciones relacionadas
IBM Red Hat OpenShift

Red Hat OpenShift on IBM Cloud es una plataforma de contenedores OpenShift (OCP) totalmente gestionada.

Conozca Red Hat OpenShift
Soluciones de contenedores

Las soluciones de contenedores ejecutan y amplían cargas de trabajo en contenedores con seguridad, innovación de código abierto y despliegue rápido.

Explorar contenedores
Servicios de consultoría en la nube 

Desbloquee nuevas capacidades e impulse la agilidad empresarial con los servicios de IBM de asesoramiento sobre la nube. Descubra cómo crear conjuntamente soluciones, acelerar la transformación digital y optimizar el rendimiento a través de estrategias de nube híbrida y asociaciones de expertos.

Servicios en la nube
Dé el siguiente paso

Dé los primeros pasos con una plataforma Red Hat OpenShift totalmente gestionada o explore la flexibilidad del ecosistema IBM Cloud Kubernetes. Acelere su proceso de desarrollo y despliegue con soluciones escalables y seguras adaptadas a sus necesidades.

  1. Conozca Red Hat OpenShift
  2. Conozca Kubernetes