¿Qué es Container Linux y debería usarlo?

¿Qué es Container Linux y debería usarlo? / Linux

Los sistemas operativos Linux vienen en una variedad de sabores. Mientras que los sistemas operativos Linux como Ubuntu son bastante generales, otros se enfocan en un nicho. Ahí está el Kali Linux orientado a la seguridad. Distribuciones ligeras como Xubuntu, e incluso Hannah Montana Linux (!). Para uso de escritorio, un sistema operativo de vainilla Linux funciona bien. Sin embargo, para tareas especializadas como ejecutar un servidor, es mejor encontrar una versión personalizada..

Los contenedores son cada vez más populares. Container Linux, anteriormente conocido como CoreOS, es un sistema operativo Linux diseñado para implementaciones en contenedores simples. Es uno de los sistemas operativos Linux más nuevos. Los sistemas operativos Linux más nuevos para todos los nichos Los sistemas operativos Linux más nuevos para todos los nichos Sistemas operativos Linux se actualizan constantemente, y algunos son más importantes que otros. ¿No está seguro si actualizar? Echa un vistazo a estos nuevos sistemas operativos Linux y para ver si debes probarlos. Lee mas . Echa un vistazo a esta descripción general y consulta de Container Linux..

Hands-On With Container Linux: Conocimiento de fondo

Antes de sumergirse en Container Linux, comencemos con una breve descripción de la arquitectura del servidor. Container Linux está diseñado para implementaciones en clúster. Una implementación agrupada suena bastante compleja, pero es bastante simple. Esencialmente, un grupo de computadoras se compone de varios servidores que trabajan juntos. Por lo tanto, funcionan como una unidad o sistema en lugar de múltiples. Además, las computadoras en un clúster cuentan con nodos, o servidores, que realizan la misma función. Por lo tanto, un nodo es una sola máquina, mientras que un clúster es un grupo de servidores que trabajan juntos.

Las implementaciones más comunes de Container Linux están dentro de entornos de clúster. La distribución anteriormente conocida como CoreOS incluso incluye los medios para girar un clúster desde una sola máquina. La característica definitoria de Container Linux, sin embargo, es su dependencia de los contenedores..

A diferencia de un sistema operativo de escritorio tradicional, todas las aplicaciones se ejecutan en contenedores. Si bien tanto las máquinas virtuales (VM) como los contenedores utilizan métodos de virtualización, los contenedores son diferentes. A diferencia de las máquinas virtuales, los contenedores utilizan el mismo núcleo de sistema operativo que la máquina host. Debido a que las aplicaciones en contenedor y la máquina host usan el mismo núcleo, las implementaciones de contenedores se benefician de una mayor eficiencia. En una configuración de máquina virtual, cada máquina virtual ejecuta una aplicación más un sistema operativo invitado. Esto se ejecuta sobre el sistema operativo host y el hardware.

Las implementaciones en contenedores en lugar de ejecutar aplicaciones en sus propios contenedores sobre el software de virtualización. Docker sigue siendo el software de contenedor más popular, aunque chroot, LXC y Linux-VServer se encuentran entre las alternativas de Docker..

Hands-On With Container Linux: ¿Por qué usar contenedores??

OK, entonces los contenedores son un método de virtualización. ¿Por qué optar por un medio ambiente en contenedor? Normalmente los contenedores ofrecen un rendimiento mejorado. Al evitar los sistemas operativos separados y, en su lugar, utilizar un kernel compartido, maximiza la eficiencia de la CPU, el almacenamiento y la memoria.

Dado que no necesita ejecutar varias instancias de sistemas operativos como lo haría en una configuración de VM, puede ejecutar más contenedores. Las mejoras de rendimiento se derivan de la necesidad de un solo sistema operativo. Del mismo modo, puede crear contenedores más rápido que en un entorno de máquina virtual. Por lo tanto, los contenedores son más adecuados para mantener la agilidad y permitir la entrega continua y la integración continua.

El desarrollo ágil se concentra en la iteración y factorización en la imprevisibilidad. Puede leer el Manifiesto Ágil para conocer mejor la filosofía ágil. Sin embargo, a pesar de las ventajas de los contenedores, no es un método de virtualización perfecto. Como los contenedores comparten el kernel del sistema operativo host, existe un riesgo de seguridad. Cualquier vulnerabilidad o violación que afecte a un contenedor obtiene acceso al sistema operativo. Pero hay una solución alternativa para ejecutar aplicaciones en contenedor en un sistema operativo dentro de una máquina virtual. Esto garantiza que el sistema operativo de la máquina host esté aislado del sistema operativo del host de contenedor singular.

La contenedorización también requiere que los contenedores utilicen el mismo sistema operativo. Con las máquinas virtuales, cada aplicación obtiene su propio sistema operativo. Por lo tanto, no puede ejecutar aplicaciones diseñadas para Windows Server en un entorno Linux en contenedores y viceversa.

Hands-On With Container Linux: ¿Qué es Container Linux??

CoreOS, o Container Linux, como se le llama ahora, es un sistema operativo Linux de código abierto. Es una distribución ligera dirigida a despliegues agrupados. Más específicamente, CoreOS se concentra en implementaciones simples, confiables y escalables. No encontrarás un gestor de paquetes. En su lugar, Container Linux requiere que todas las aplicaciones se ejecuten dentro de contenedores. Container Linux usa Chrome OS como su base. Por lo tanto, Container Linux sigue siendo bastante ligero. Para probar, ejecuté el sistema operativo Linux anteriormente conocido como CoreOS en una máquina virtual en una computadora portátil AMD A10 HP Envy m6-1205dx. El consumo de recursos del sistema se mantuvo bastante bajo.

Debido a que Container Linux evita varias características tradicionales del sistema operativo de escritorio de Linux, mantiene la distribución liviana. A diferencia de un sistema operativo de escritorio, no encontrará un administrador de paquetes. En su lugar, todas las aplicaciones se ejecutan como contenedores Docker. Esto hace que la portabilidad y el aislamiento del servicio. Si quieres un entorno de escritorio, estás de suerte. Container Linux carece de una interfaz gráfica de usuario. En su lugar, todo se basa en la línea de comandos. El panel de CoreUpdate ofrece información sobre el estado de la máquina, los servicios en ejecución y el estado del clúster. Pero solo está disponible como un componente en la suscripción Premium Managed Linux.

Contenedor de arquitectura de Linux

Container Linux es ligero y está diseñado para la creación de contenedores y la agrupación en clústeres. Como no hay un entorno de escritorio, la configuración funciona de manera diferente a la de un sistema operativo Linux como CentOS o Ubuntu. Tras el arranque inicial, Container Linux carga un archivo de configuración en la nube. Tendrá que ingresar información en la configuración de nube. Esto puede ser un poco complicado, especialmente para aquellos que no están familiarizados con cloud-config. Pero es un archivo esencial que le brinda a Container Linux la capacidad de cargar servicios esenciales, modificar parámetros y administrar clústeres.

Además, el etcd y flota Los demonios permanecen integrales a Container Linux. Ambos servicios se inician al inicio de forma predeterminada. Además, en el arranque, el archivo de configuración en la nube le permite al host saber cómo unirse a un clúster existente. los etcd El daemon distribuye y almacena datos para hosts dentro de un cluster. Es esencial para mantener las configuraciones y el descubrimiento de servicios. los flota El daemon es similar a un init distribuido. Este demonio enlaza a systemd init para hosts en un clúster y se encarga de tareas como la programación de servicios.

Cada sistema en un flota el cluster ejecuta solo uno flota demonio. Este daemon asume dos responsabilidades principales que actúan como agente y motor. Como el motor, el demonio realiza decisiones de programación. Mientras que el lado del agente ejecuta unidades. En el clúster de la flota., etcd es el único almacén de datos. Dicha información, como la presencia de clúster, el estado de la unidad y los archivos de unidad, se almacenan dentro de etcd demonio. Además, es el medio para la comunicación entre el agente de la flota y el motor..

Hands-On With Container Linux: Quién debería usarlo?

Container Linux es gratuito para descargar, liviano y bastante simple de instalar en una máquina virtual. Cualquiera que necesite implementaciones rápidas, escalables y en contenedores debe optar por Container Linux. En su mayoría, los administradores de sistemas y los administradores de bases de datos se beneficiarán al máximo de Container Linux. Como Container Linux carece de un entorno de escritorio, es más adecuado para la administración de clústeres y en una configuración de servidor. Si está buscando un sistema operativo de servidor Linux, Container Linux es uno de los 12 mejores servidores de Linux. 12 Mejores sistemas operativos de servidor Linux y quién debería usarlos. 12 ¿Cuál es el mejor sistema operativo de servidor Linux? Linux es ideal, por lo general ofrece permisos mejorados, mayor flexibilidad y estabilidad. Pero, ¿cuál debería elegir? Echa un vistazo a los 12 mejores sistemas operativos de servidor Linux y quién debería usarlos. Leer más s.

Air Pair cuenta con una excelente redacción sobre los incentivos CoreOS. Este artículo menciona la alta disponibilidad, el mantenimiento del entorno de producción, el control de la versión del software y el etcd como principales atractivos para el uso de Container Linux. Cabe destacar que también hay una comunidad de código abierto increíblemente dedicada. Container Linux está diseñado para usuarios experimentados de Linux. La documentación de ayuda, aunque completa, asume un grado moderado de familiaridad con Linux. Los usuarios principiantes y principiantes pueden tener un poco de problemas con la instalación inicial.

Más específicamente, la configuración en la nube puede ser un desafío. En la sección de comentarios de un video de instalación de CoreOS, el usuario de YouTube Setyoso Nugroho declaró, “Buen tutorial! Bastante confuso cuando se aprende la configuración del archivo # cloud-config en CoreOS.” Si bien la configuración no es terriblemente difícil, Container Linux asume un sólido conocimiento de las características de Linux como el editor VIM.

Hands-On With Container Linux: Cómo instalar

Hay muchos medios para instalar Container Linux. Según el sitio web de CoreOS, las plataformas oficiales incluyen Amazon EC2, DigitalOcean, Microsoft Azure, bare metal y OpenStack. Junto con Oracle Linux, CentOS y Suse, CoreOS es uno de los pocos sistemas operativos compatibles con Azure Linux ¿A Microsoft realmente le gusta Linux después de todo? ¿Microsoft realmente ama Linux después de todo? Microsoft y Linux han tenido una relación tumultuosa. A lo largo de los años, los CEOs han expresado el deseo de ver cómo desaparece Linux, pero en estos días la historia es diferente. ¿A Microsoft realmente le gusta Linux después de todo? Lee mas . Gracias a una comunidad vibrante, también se admiten plataformas como Packet, Rackspace, Brightbox, VirtualBox y VMware. Descubrí que el método más sencillo era instalar Container Linux en VirtualBox usando un archivo ISO. Aquí hay una guía rápida sobre cómo usar VirtualBox Cómo usar VirtualBox: Guía del usuario Cómo usar VirtualBox: Guía del usuario Con VirtualBox puede instalar y probar múltiples sistemas operativos fácilmente. Le mostraremos cómo configurar Windows 10 y Ubuntu Linux como una máquina virtual. Lee mas .

Configurando VirtualBox

Abra VirtualBox y se le pedirá un nombre de máquina virtual, tipo de sistema operativo y versión. Llamé al mío simplemente CoreOS. Para el tipo, seleccione Linux. Como versión, use Linux 2.6 / 3.x / 4 / x (64 bits). Haga clic en Siguiente.

Ahora tendrás que asignar tu memoria RAM. CoreOS sugiere un mínimo de 1024 MB de RAM.

Después de seleccionar su RAM, deberá agregar un disco duro virtual. Utilice la opción crear un disco duro virtual ahora.

En la siguiente pantalla, se le pedirá un tipo de archivo de disco duro. Seleccione VDI, o VirtualBox Disk Image.

Después de eso, configura tu espacio de almacenamiento. Recomiendo usar un archivo de disco duro asignado dinámicamente.

A continuación, elija la ubicación y el tamaño del archivo. Dejé el CoreOS predeterminado como nombre y opté por un tamaño de datos de archivo de 8 GB.

Con su máquina virtual CoreOS VirtualBox configurada correctamente, siga adelante y haga clic en el botón verde Inicio.

Una vez que haga clic en Iniciar, deberá seleccionar un disco de inicio. Vaya a la carpeta donde tiene su CoreOS ISO y continúe.

Configurando Container Linux

Después de iniciar su CoreOS ISO, Container Linux comienza a cargarse. Eventualmente verá que una línea le da a su versión CoreOS y una lectura de línea de comando:

core @ localhost

Escribir:

sudo openssl passwd -1> cloud-config-file

La línea de comando presenta una advertencia de que si no puede abrir el archivo de configuración. Ingrese su contraseña deseada y continúe. A continuación, introduzca:

cat nube-config-archivo

Esto devuelve una cadena larga y crea un nuevo archivo de configuración en la nube. Ahora abre la configuración de nube en un editor visual:

vi cloud-config-file

Esto carga un archivo de configuración en la nube que puede editar. CoreOS incluye un archivo de ejemplo de configuración avanzada en la nube:

La mía se parecía a

# usuarios de cloud-config: moe passwd: [contraseña SSL] grupos: - sudo - docker 

Puede verificar su archivo de configuración en la nube ingresando:

cat nube-config-archivo

Esto devuelve su archivo de configuración. Si todo se ve bien, proceda con la instalación de CoreOS:

sudo coreos-install -d / dev / sda -C stable -c cloud-config-file

Verá un mensaje que indica que CoreOS se está descargando, escribiendo y verificando. Tan pronto como eso termine, verás un mensaje que dice “¡Éxito! CoreOS [versión] está instalado en / dev / sda.”

Apague su máquina virtual CoreOS y luego vuelva a iniciarla. Al iniciar la copia de seguridad, asegúrese de desmontar el ISO CoreOS o el CD en vivo se ejecutará de nuevo.

CoreOS se cargará y aparecerá un mensaje de inicio de sesión en la línea de comandos:

inicio de sesión localhost:

Ingrese su nombre de usuario y contraseña. Esto cargará un mensaje que dice “Contenedor Linux por CoreOS [versión]” y una nueva línea de comando.

Hands-On With Container Linux: Próximos pasos

Ahora que Container Linux by CoreOS está correctamente instalado, puede comenzar a configurar contenedores y clústeres. La documentación de CoreOS presenta una excelente guía de inicio rápido. Hay información sobre el descubrimiento de servicios utilizando etcd, así como una sección sobre la administración de contenedores con Docker. Realicé algunas pruebas rápidas como una “Hola Mundo” Tirador docker. Además, instalé una imagen de Plex Docker porque soy un gran buff de servidores de medios. Finalmente, configuré la flota para la gestión de clústeres..

Lo que primero querrá hacer es configurar los componentes principales de Container Linux:

  • etcd
  • Estibador
  • Flota

Al configurar estas tres bases principales, estará listo para el descubrimiento de servicios, la administración de clústeres y la configuración de contenedores. Luego puede comenzar a crear aplicaciones de contenedorización y probar de forma segura aplicaciones de escritorio en un contenedor seguro de Docker Cómo probar de forma segura aplicaciones de escritorio en un contenedor seguro con Docker Cómo probar aplicaciones de escritorio con seguridad en un contenedor seguro con Docker aplicaciones basadas en servidor. Pero, ¿sabía que también puede usarlo para ejecutar nuevos programas en su escritorio de forma segura y segura? Lee mas .

Hands-On With Container Linux: Pensamientos finales

No uso contenedores a menudo, pero Container Linux simplifica la implementación. La documentación es excelente con los archivos de configuración de muestra. Tenga en cuenta que para los principiantes, varios tutoriales no oficiales de instalación de video facilitan la instalación de CoreOS. Mientras CoreOS afirma que Container Linux es liviano, inicialmente fui escéptico. Sin embargo, desarrollé Container Linux en una máquina virtual con un consumo de recursos bastante bajo. Y como quería probar si Container Linux era realmente liviano, utilicé mi vieja computadora portátil HP y no tuve problemas..

Sin embargo, algunos pasos en la instalación inicial no son muy “amigable para principiantes.” La instalación y configuración de Container Linux requiere una sólida familiaridad con Linux. En particular, no probé el panel de CoreUpdate, que CoreOS ofrece como una función premium de pago. Si bien no tengo problemas para usar la línea de comandos, un entorno gráfico para monitoreo sería una buena adición.

Los administradores de sistemas y administradores de bases de datos son los que más se benefician de Container Linux. Sin embargo, para los servidores domésticos, es un medio simple y ligero de crear un entorno en clúster. Además, con Container Linux puede girar un clúster desde una sola máquina. Pero Container Linux es una excelente introducción al trabajo con contenedores. Si está intentando aprender más acerca de Docker y los contenedores, Container Linux se ejecuta realmente bien en una máquina virtual y ofrece todos los recursos que necesita para comenzar.

Es una excelente solución lista para usar para los principiantes de contenedores, además de los experimentados ingenieros de DevOps, administradores de sistemas y administradores de bases de datos. En última instancia, Container Linux by CoreOS es un medio simple de crear un entorno escalable, eficiente y en contenedores..

¿Estás usando CoreOS? ¿Planeas hacerlo? Háganos saber cómo está haciendo un contenedor en Linux en la sección de comentarios a continuación!

Explorar más sobre: ​​Linux, Linux Distro.