Professional Documents
Culture Documents
Integrantes:
Realizado (fecha) :15/5/19
Visión general
CoreOS no proporciona un gestor de paquetes, por lo que requiere que todas las
aplicaciones ejecuten dentro de sus contenedores, utilizando Docker y sus contenedores
Linux (LXC) subyacentes de virtualización a nivel de sistema operativo de tecnología para
la ejecución de múltiples sistemas Linux aislados en un único host de control (instancia
CoreOS). De esa manera, la partición de los recursos se lleva a cabo a través de múltiples
instancias de espacios de usuario aisladas, en lugar de utilizar un hipervisor y una máquina
virtual. Este enfoque se basa en cgroups, funcionalidad del kernel de Linux que ofrece
aislamiento del espacio de nombres y habilidades para limitar, contabilizar y aislar el uso de
los recursos (CPU, la memoria, disco I/O, etc.) de un grupo de procesos.1
CoreOS utiliza systemd como su sistema de inicio principal, con una estrecha integración
entre el mismo y las partes internas de CoreOS.
Distribución de actualizaciones
Para tener mayor seguridad y fiabilidad en las actualizaciones, CoreOS usa FastPatch como
un esquema de doble partición con un sistema de archivos raíz de sólo lectura, lo que
significa que las actualizaciones del sistema operativo se llevan a cabo en su totalidad y se
instalan en una partición secundaria, que se activa al reiniciar o realizando una ejecución de
kernel (kexec). De esa manera también se aseguran reversiones fáciles a la versión estable
conocida. Cada partición de arranque puede firmarse para la tener seguridad adicional.
Partes grabables del sistema de archivos se almacenan en una partición "estado"
independiente, que se cambia de tamaño automáticamente para ocupar todo el espacio
disponible en disco en los reinicios.
Infraestructura de Clúster
CoreOS ofrece ETCD, un demonio, que se ejecuta en todos los equipos en un clúster,
permitiendo que los datos de configuración sean fácilmente compartidos, proporcionando
un registro de configuración dinámica. Ya que los datos clave-valor almacenados dentro de
ETCD son automáticamente distribuidos y replicados (con elección de maestro
automatizada), todos los cambios se reflejan en todo el clúster. Además de la gestión de
configuración, ETCD también proporciona el descubrimiento de servicios al permitir
aplicaciones desplegadas anunciarse a sí mismas. La comunicación con ETCD se realiza a
través de una API simple, que utiliza internamente JSON en la parte superior de HTTP; la
API se puede utilizar directamente (a través de curl , por ejemplo), o indirectamente a
través de etcdctl , que es una utilidad de línea de comandos también suministrada por
CoreOS.
CoreOS también ofrece fleet, un demonio para la administración del clúster, que controla
instancias systemd separadas de CoreOS a nivel del clúster. Mediante el uso de fleet,
CoreOS crea un sistema de inicio distribuido que enlaza diferentes instancias de systemd y
de despliegue ETCD en todo el clúster; internamente, fleet se comunica con systemd sobre
D-Bus. Fleet permite tener contenedores simples o múltiples que se desplegarán en todo el
clúster, con opciones más avanzadas incluyendo redundancia, failover, despliegue a
miembros específicos del clúster, dependencias entre los contenedores, y el despliegue de
contenedores agrupados. La utilidad de línea de comandos denominada fleetctl se utiliza
para configurar y supervisar este sistema init distribuido; internamente, se comunica con el
clúster ETCD. Cuando se utiliza de forma local en un miembro de clúster, fleetctl se
comunica con la instancia local de ETCD; cuando se utiliza desde un host externo, el túnel
SSH se utiliza con la autenticación proporcionada a través de clave SSH pública.
Tanto etcd como fleet están escritos en el lenguaje de programación GO y distribuidas bajo
la licencia de Apache 2.0.
Computadora
Internet
Tutoriales
Máquinas virtuales
6.- Bibliografía.