Introducción a las redes definidas por software

La red definida por software (SDN) es una tecnología de red dinámica, manejable, rentable y adaptable adecuada para la naturaleza dinámica y de gran ancho de banda de las aplicaciones actuales. Mediante el uso de una arquitectura SDN, un equipo de operaciones de TI puede controlar el tráfico de red en topologías de red complejas a través de un panel centralizado, en lugar de administrar manualmente cada dispositivo de red, como enrutadores y conmutadores.

El rápido crecimiento del contenido móvil, la virtualización de servidores y los servicios de nube híbrida son algunas de las tendencias que hacen que la industria de redes reconsidere las arquitecturas de red. La arquitectura de red tradicional se basa principalmente en varias capas de conmutadores de red en una topología jerárquica. Pero es más difícil administrar cargas de trabajo de aplicaciones en rápido crecimiento desde infraestructuras múltiples e híbridas (como la nube) en una arquitectura jerárquica.

Muchas empresas están adoptando agresivamente los contenedores de Linux porque es una colección de procesos aislados capaces de manejar cargas de trabajo de aplicaciones que crecen inesperadamente sobre el sistema operativo Linux. Un contenedor de Linux es un tipo de archivo de imagen binaria que contiene una aplicación, un entorno de tiempo de ejecución y bibliotecas dependientes, por lo que es portátil y coherente al pasar del desarrollo a las pruebas y, finalmente, a la producción. En última instancia, los contenedores de Linux permiten a los equipos de operaciones de TI crear la canalización de entrega de aplicaciones de forma más rápida y sencilla que los entornos de entrega de aplicaciones tradicionales.

Al mismo tiempo, las empresas tienen serias preocupaciones sobre cómo pueden aislar la seguridad y las redes de múltiples contenedores de aplicaciones en muchos centros de datos y servicios en la nube diferentes. Desde la versión 1.10, el contenedor Docker ofrece perfiles en modo de cómputo seguro para quitar privilegios; la configuración predeterminada no es mala, pero aún dejan 270 llamadas al sistema que un contenedor podría ejecutar. Por ejemplo, si CAP_NET_ADMIN está habilitado en un contenedor para agregar rutas a su tabla de enrutamiento, habrá muchas formas de explotar el sistema si busca lo suficiente.

Índice

    Aislar contenedores de Linux con SDN

    En su lugar, puede usar SDN para administrar el aislamiento de la red de contenedores de Linux.

    el Interfaz de red de contenedores (CNI) es una definición de biblioteca y un conjunto de herramientas para configurar interfaces de red en contenedores de Linux a través de muchos complementos compatibles. El proyecto CNI se pone bajo el patrocinio de la Base de computación nativa en la nube (CNF). Se pueden ejecutar varios complementos al mismo tiempo en un contenedor que participa en una red impulsada por diferentes complementos. Las redes se escriben en formato JSON en el archivo de configuración y se instancian como nuevos espacios de nombres cuando se invoca el complemento CNI.

    Muchos tiempos de ejecución de contenedores populares, como Kubernetes, OpenShift, fundición de nubes, y apache mesos, use el CNI para definir una interfaz común entre complementos de red y contenedores en ejecución para contenedores de aplicaciones en Linux. Hay muchas formas de implementar CNI, y los siguientes nueve complementos de CNI (enumerados en orden alfabético) a menudo se usan para lograr capacidades de red en Kubernetes.

    • Calicó ofrece una gran escalabilidad en arquitecturas distribuidas como Kubernetes, Docker y OpenStack.

    • Pestaña proporciona conectividad de red y equilibrio de carga entre cargas de trabajo de aplicaciones, como contenedores y procesos de aplicaciones, y garantiza una seguridad transparente.

    • Contiv integra contenedores, virtualización y servidores físicos basados ​​en redes de contenedores utilizando una estructura de red única.

    • Rastro proporciona redes superpuestas para nubes múltiples e híbridas a través de la aplicación de políticas de red.

    • Franela facilita a los desarrolladores la configuración de una estructura de red de capa 3 para Kubernetes.

    • Multus admite múltiples interfaces de red en un solo pod en Kubernetes para SRIOV, SRIOV-DPDK, OVS-DPDK, y VPP cargas de trabajo

    • Abrir vSwitch (OVS) ofrece una plataforma CNI de nivel de producción con una interfaz de administración estándar en OpenShift y OpenStack.

    • OVN-Kubernetes habilita redes virtuales para múltiples contenedores en diferentes hosts mediante una función de superposición.

    • romano hace que las funciones de la red en la nube sean menos costosas de construir, más fáciles de operar y más capaces que las redes en la nube tradicionales.

    Algunos proveedores de Linux proporcionan características y componentes de aislamiento de red para contenedores de Linux. Por ejemplo, Red Hat Enterprise Linux (RHEL) proporciona espacios de nombres de red que permiten que un contenedor utilice una pila de red virtual, un dispositivo de bucle invertido y un espacio de proceso independientes. Puede agregar dispositivos virtuales o reales al contenedor, asignarles direcciones IP e incluso usar reglas completas de iptables.

    Además de los espacios de nombres de la red, una SDN debe aumentar la seguridad al proporcionar aislamiento entre varios espacios de nombres con el complemento de múltiples inquilinos. Esto significa que los paquetes de un espacio de nombres, de manera predeterminada, no serán visibles para otros espacios de nombres, por lo que los contenedores de diferentes espacios de nombres no pueden enviar ni recibir paquetes de pods ni servicios de un espacio de nombres diferente. Estas características son útiles para aislar redes de desarrollo, prueba y producción.

    Conclusión

    Los contenedores de Linux son la tecnología más utilizada para desarrollar, implementar y administrar aplicaciones empresariales en la nube híbrida. La coordinación de puertos entre múltiples desarrolladores es muy difícil de hacer a escala y expone a los usuarios a problemas a nivel de clúster que escapan a su control. Afortunadamente, muchos proyectos CNI de código abierto escalan o se consolidan, ya que los desarrolladores empresariales necesitan eliminar el aprovisionamiento manual de redes en entornos en contenedores, y los ingenieros de redes están listos (excepto aquellos con conceptos erróneos sobre la seguridad laboral). Seleccione uno de los complementos de CNI enumerados anteriormente para obtener un enfoque más rápido, más fácil y más conveniente para la asignación dinámica de puertos, el aislamiento de la red y la seguridad.

    Artículos de interés

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada.

    Subir