Anuncio
Los sistemas operativos Linux vienen en una variedad de sabores. Mientras que los sistemas operativos Linux como Ubuntu son bastante generales, otros se dirigen a un nicho. Existe el Kali Linux orientado a la seguridad. Distribuciones ligeras como Xubuntu e incluso Hannah Montana Linux (!). Para uso en escritorio, un sistema operativo Linux vainilla 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 nuevos sistemas operativos Linux de nicho Los sistemas operativos Linux más nuevos para cada nichoLos sistemas operativos Linux se actualizan constantemente, algunos son más importantes que otros. ¿No está seguro de actualizar? Vea estos nuevos sistemas operativos Linux y vea si debería probarlos. Lee mas . Consulte esta descripción general y un vistazo práctico en Container Linux.
Manos a la obra con Container Linux: conocimiento previo
Antes de sumergirse en Container Linux, comencemos con una breve descripción general de la arquitectura del servidor. Container Linux está diseñado para implementaciones agrupadas. Una implementación en clúster suena bastante compleja, pero es bastante simple. Esencialmente, un clúster de computadoras se compone de múltiples 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. Entonces, 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 se encuentran en entornos de clúster. La distribución anteriormente conocida como CoreOS incluso incluye los medios para girar un clúster de una sola máquina. La característica definitoria de Container Linux, sin embargo, es su dependencia de 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 usan métodos de virtualización, los contenedores difieren. A diferencia de las máquinas virtuales, los contenedores utilizan el mismo núcleo del sistema operativo que la máquina host. Debido a que las aplicaciones en contenedores y la máquina host usan el mismo kernel, las implementaciones de contenedores se benefician de una mayor eficiencia. En una configuración de máquina virtual, cada VM 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 su lugar ejecutan aplicaciones en sus propios contenedores además del software de virtualización. Estibador sigue siendo el software contenedor más popular, aunque chroot, LXC y Linux-VServer se encuentran entre las alternativas de Docker.
Manos a la obra con Container Linux: ¿por qué usar contenedores?
Bien, entonces los contenedores son un método de virtualización. ¿Por qué optar por un entorno en contenedores? Por lo general, los contenedores ofrecen un rendimiento mejorado. Al evitar sistemas operativos separados y en lugar de usar un kernel compartido, maximiza la eficiencia de la CPU, el almacenamiento y la memoria.
Como no necesita ejecutar varias instancias del sistema operativo como lo haría en una configuración de VM, puede ejecutar más contenedores. Las mejoras de rendimiento derivan de la necesidad de un único 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.
Desarrollo ágil se concentra en la iteración y la factorización en la imprevisibilidad. Puedes leer el Manifiesto Ágil para una mayor comprensión de 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 núcleo del sistema operativo host, existe un riesgo de seguridad. Cualquier vulnerabilidad o incumplimiento que afecte a un contenedor obtiene acceso al sistema operativo. Pero existe una solución alternativa para ejecutar aplicaciones en contenedores 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 host del contenedor singular.
La contenedorización también requiere que los contenedores utilicen el mismo sistema operativo. Con las máquinas virtuales, cada aplicación tiene su propio sistema operativo. Por lo tanto, no puede ejecutar aplicaciones diseñadas para Windows Server en un entorno Linux en contenedores y viceversa.
Manos a la obra con Container Linux: ¿Qué es Container Linux?

CoreOS, o Container Linux como ahora se llama, es un sistema operativo Linux de código abierto. Es una distribución liviana dirigida a implementaciones agrupadas. Más específicamente, CoreOS se concentra en implementaciones simples, confiables y escalables. No encontrarás un administrador de paquetes. En cambio, Container Linux requiere que todas las aplicaciones se ejecuten dentro de contenedores. Container Linux utiliza Chrome OS como 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 vieja computadora portátil HP Envy m6-1205dx AMD A10. El consumo de recursos del sistema se mantuvo bastante bajo.
Debido a que Container Linux evita varias características tradicionales del sistema operativo Linux de escritorio, mantiene la distribución liviana. A diferencia de un sistema operativo de escritorio, no encontrará un administrador de paquetes. En cambio, todas las aplicaciones se ejecutan como contenedores Docker. Esto permite la portabilidad y el aislamiento del servicio. Si quieres un entorno de escritorio, no tienes suerte. El contenedor Linux carece de una interfaz gráfica de usuario. En cambio, todo se basa en la línea de comandos. los 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 el Suscripción premium de Linux administrado.
Arquitectura de Linux en contenedor
Container Linux es ligero y está diseñado para contener y agrupar. Como no hay un entorno de escritorio, la configuración funciona de manera diferente que en un sistema operativo Linux como CentOS o Ubuntu. En el arranque inicial, Container Linux carga un archivo de configuración en la nube. Deberá ingresar información en la configuración de la nube. Esto puede ser un poco complicado, especialmente para aquellos que no están familiarizados con la configuración de la nube. Pero es un archivo esencial que le da a Container Linux la capacidad de cargar servicios esenciales, alterar parámetros y administrar clústeres.
Además, el etcd
y flota
los demonios siguen siendo parte integral de Container Linux. Ambos servicios se inician al inicio de forma predeterminada. Además, al arrancar, el archivo de configuración de la nube le permite al host saber cómo unirse a un clúster existente. los etcd
daemon distribuye y almacena datos para hosts dentro de un clúster. Es esencial para mantener las configuraciones y el descubrimiento de servicios. los flota
daemon es similar a un init distribuido. Este demonio enlaza con el 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 clúster ejecuta solo uno flota
demonio. Este demonio asume dos responsabilidades principales actuando como agente y motor. Como motor, el demonio realiza decisiones de programación. Mientras que el lado del agente ejecuta unidades. En el grupo de flota, etcd
es el único almacén de datos. Dicha información, como la presencia del clúster, el estado de la unidad y los archivos de la unidad, se almacenan en el etcd
demonio. Además, es el medio para la comunicación del agente de flota y del motor.
Manos a la obra con Container Linux: ¿Quién debería usarlo?
Container Linux es de descarga gratuita, ligero y bastante sencillo de instalar en una máquina virtual. Cualquiera que necesite implementaciones rápidas, escalables y en contenedores debe optar por Container Linux. La mayoría de los administradores de sistemas y administradores de bases de datos se beneficiarán más de Container Linux. Como Container Linux carece de un entorno de escritorio, es el 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 distribuciones de servidores Linux Los 12 mejores sistemas operativos de servidor Linux y quién debe usarlos¿Construyendo un servidor? Linux es ideal, por lo general ofrece permisos mejorados, mayor flexibilidad y estabilidad. ¿Pero cuál debes elegir? Echa un vistazo a los 12 mejores sistemas operativos de servidor Linux y quién debe usarlos. Lee mas s.
Air Pair presenta una excelente redacción sobre 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 usar 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 algunos problemas con la instalación inicial.
Más específicamente, la configuración de la nube puede ser un desafío. En la sección de comentarios de uno Video de instalación de CoreOS, Usuario de YouTube Setyoso Nugroho declaró: "¡Buen tutorial! Bastante confuso cuando se aprende la configuración del archivo # cloud-config en CoreOS ". Mientras que la configuración no es terriblemente difícil, Container Linux asume una gran comprensión de las características de Linux como el VIM editor.
Manos a la obra con 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 los gustos de Oracle Linux, CentOS y Suse, CoreOS es uno de los pocos Sistemas operativos Linux compatibles con Azure ¿Microsoft realmente ama a Linux después de todo?Microsoft y Linux han tenido una relación tumultuosa. Con los años, los CEO han expresado su deseo de ver que Linux desaparezca, 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. Encontré que el método más fácil fue instalar Container Linux en VirtualBox usando un archivo ISO. Aquí está un guía rápida sobre cómo usar VirtualBox Cómo usar VirtualBox: Guía del usuarioCon VirtualBox puede instalar y probar fácilmente múltiples sistemas operativos. Le mostraremos cómo configurar Windows 10 y Ubuntu Linux como una máquina virtual. Lee mas .
Configurando VirtualBox
Abra VirtualBox y se le solicitará 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 deberás asignar tu RAM. CoreOS sugiere un mínimo de 1024 MB de RAM.

Después de seleccionar su RAM, deberá agregar un disco duro virtual. Use 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, configure su espacio de almacenamiento. Recomiendo usar un archivo de disco duro asignado dinámicamente.

Luego, 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, continúe y haga clic en el botón verde de Inicio.

Una vez que haga clic en Inicio, deberá seleccionar un disco de inicio. Navegue a la carpeta donde obtuvo su ISO de CoreOS y continúe.
Configurar Container Linux
Después de iniciar su CoreOS ISO, Container Linux comienza a cargarse. Eventualmente verá que una línea le da su versión de CoreOS y una lectura de línea de comando:
core @ localhost
Escribir:
sudo openssl passwd -1> archivo-config-cloud

La línea de comando presenta una advertencia de que si no se puede abrir el archivo de configuración. Ingrese su contraseña deseada y continúe. Luego ingrese:
archivo de configuración de la nube del gato

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

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

El mío se veía así:
# usuarios de configuración en la nube: moe passwd: grupos [contraseña SSL]: - sudo - docker.

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

Esto devuelve su archivo de configuración. Si todo se ve bien, continúe con la instalación de CoreOS:
sudo coreos-install -d / dev / sda -C stable -c cloud-config-file

Verá un mensaje de que CoreOS se está descargando, escribiendo y verificando. Tan pronto como termine, verá 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 de CoreOS o el CD en vivo se ejecutará nuevamente.
CoreOS se cargará y aparecerá un mensaje de inicio de sesión en la línea de comando:
inicio de sesión localhost:

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

Manos a la obra con Container Linux: próximos pasos
Ahora que Container Linux de CoreOS está instalado correctamente, 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 usando etcd, así como una sección sobre administración de contenedores con Docker. Realicé algunas pruebas rápidas, como un Docker "Hello World". Además, instalé una imagen de Plex Docker porque soy un gran fanático del servidor de medios. Finalmente, configuré la flota para la gestión de clústeres.
Lo que querrá hacer primero es configurar los componentes principales de Container Linux:
- etcd
- Estibador
- Flota
Al configurar estos tres fundamentos principales, estará listo para el descubrimiento de servicios, la administración de clústeres y la configuración de contenedores. Luego puede comenzar a contener aplicaciones y prueba segura de aplicaciones de escritorio en un contenedor Docker seguro Cómo probar de forma segura aplicaciones de escritorio en un contenedor seguro con DockerDocker es una plataforma popular para desarrollar y probar aplicaciones basadas en servidor. ¿Pero sabía que también puede usarlo para ejecutar de forma segura nuevos programas en su escritorio? Lee mas .
Manos a la obra con Container Linux: reflexiones finales
No uso contenedores a menudo, pero la implementación simplificada de Container Linux. La documentación es excelente con archivos de configuración de muestra. Tenga en cuenta que para principiantes, varios no oficiales tutoriales de instalación de video facilita las instalaciones de CoreOS. Si bien CoreOS afirma que Container Linux es liviano, inicialmente era escéptico. Sin embargo, hice girar Container Linux en una máquina virtual con un consumo de recursos bastante bajo. Y debido a que quería probar si Container Linux era realmente liviano, utilicé mi vieja computadora portátil HP y no encontré ningún problema.
Sin embargo, algunos pasos en la instalación inicial no son muy "amigables para principiantes". La instalación y configuración de Container Linux requiere una sólida familiaridad con Linux. Cabe destacar que 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 el monitoreo sería una buena adición.
Los administradores del sistema y los administradores de bases de datos se benefician más de Container Linux. Sin embargo, para los servidores domésticos, es un medio simple y liviano 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 gran introducción para trabajar con contenedores. Si está intentando obtener más información sobre 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, administradores de sistemas y administradores de bases de datos de DevOps. En definitiva, Container Linux de CoreOS es un medio simple para crear un entorno escalable, eficiente y en contenedores.
¿Estás usando CoreOS? ¿Planeas hacerlo? ¡Háganos saber cómo está contenedorizando en Linux en la sección de comentarios a continuación!
Moe Long es un escritor y editor que cubre todo, desde tecnología hasta entretenimiento. Obtuvo un inglés B.A. de la Universidad de Carolina del Norte en Chapel Hill, donde fue becario Robertson. Además de MUO, ha aparecido en htpcBeginner, Bubbleblabber, The Penny Hoarder, Tom's IT Pro y Cup of Moe.