Contenedor Linux


Container Linux (anteriormente CoreOS Linux ) es un sistema operativo liviano de código abierto descontinuado basado en el kernel de Linux y diseñado para proporcionar infraestructura para implementaciones en clúster , mientras se enfoca en la automatización, la facilidad de implementación de aplicaciones, la seguridad, la confiabilidad y la escalabilidad . Como sistema operativo, Container Linux proporcionó solo la funcionalidad mínima requerida para implementar aplicaciones dentro de contenedores de software , junto con mecanismos integrados para el descubrimiento de servicios y el intercambio de configuraciones. [10] [11] [12] [13] [14]

Container Linux comparte las bases con Gentoo Linux , [15] [16] Chrome OS y Chromium OS a través de un kit de desarrollo de software (SDK) común. Container Linux agrega nueva funcionalidad y personalización a esta base compartida para admitir el hardware del servidor y los casos de uso. [13] [17] : 7:02  CoreOS fue desarrollado principalmente por Alex Polvi, Brandon Philips y Michael Marineau, [12] con sus funciones principales disponibles como una versión estable . [18] [19] [20]

El equipo de CoreOS anunció el final de la vida útil de Container Linux el 26 de mayo de 2020, [1] ofreciendo Fedora CoreOS , [21] y RHEL CoreOS como reemplazo, ambos basados ​​en Red Hat .

Container Linux no proporciona un administrador de paquetes como una forma de distribuir aplicaciones de carga útil, sino que requiere que todas las aplicaciones se ejecuten dentro de sus contenedores. Una instancia de Container Linux, que actúa como un host de control único, utiliza las funciones de virtualización subyacentes a nivel del sistema operativo del kernel de Linux para crear y configurar varios contenedores que funcionan como sistemas Linux aislados . De esa manera, la partición de recursos entre contenedores se realiza a través de múltiples instancias de espacio de usuario aisladas , en lugar de usar un hipervisor y proporcionar máquinas virtuales completas . Este enfoque se basa en los grupos cgroups yfuncionalidades de espacios de nombres , [22] [23] que juntas brindan capacidades para limitar, contabilizar y aislar el uso de recursos ( CPU , memoria, E/S de disco , etc.) para las colecciones de procesos de espacio de usuario . [11] [14] [24]

Inicialmente, Container Linux usaba exclusivamente Docker como un componente que brindaba una capa adicional de abstracción e interfaz [25] para las funciones de virtualización a nivel del sistema operativo del kernel de Linux, además de proporcionar un formato estandarizado para contenedores que permite que las aplicaciones se ejecuten en diferentes ambientes. [11] [24] En diciembre de 2014, CoreOS lanzó y comenzó a admitir rkt (lanzado inicialmente como Rocket ) como una alternativa a Docker, proporcionando a través de él otro formato estandarizado de las imágenes del contenedor de la aplicación, la definición relacionada del entorno de tiempo de ejecución del contenedor. y un protocolopara descubrir y recuperar imágenes de contenedores. [26] [27] [28] [29] CoreOS proporciona rkt como una implementación de la especificación llamada contenedor de aplicaciones (appc) que describe las propiedades requeridas de la imagen del contenedor de aplicaciones (ACI); CoreOS inició appc y ACI como un conjunto de especificaciones dirigido por un comité independiente, [30] [31] con el objetivo de que se convirtieran en parte de la Open Container Initiative (OCI) independiente del proveedor y del sistema operativo ; inicialmente llamado Open Container Project o OCP [32] ) estándar de contenedorización, que fue anunciado [ ¿por quién? ]en junio de 2015. [33] [34] [35]

Container Linux usa scripts ebuild de Gentoo Linux para la compilación automatizada de los componentes de su sistema, [15] [16] y usa systemd como su sistema de inicio principal con una estrecha integración entre systemd y varios mecanismos internos de Container Linux. [11] [36]


Una ilustración de alto nivel de la arquitectura de clúster de CoreOS [49]