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.
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.
Manténgase al día sobre las tendencias más importantes e intrigantes de la industria sobre IA, automatización, datos y más con el boletín Think. Consulte la Declaración de privacidad de IBM.
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.
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.
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:
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:
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.
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.
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.
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.
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.
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.
Red Hat OpenShift on IBM Cloud es una plataforma de contenedores OpenShift (OCP) totalmente gestionada.
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.
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.