Vés al contingut

CoreOS

De la Viquipèdia, l'enciclopèdia lliure
Aquesta és una versió anterior d'aquesta pàgina, de data 12:54, 9 maig 2016 amb l'última edició de Langtoolbot (discussió | contribucions). Pot tenir inexactituds o contingut no apropiat no present en la versió actual.
CoreOS
Modifica el valor a Wikidata

Tipusdistribució GNU/Linux Modifica el valor a Wikidata
Versió inicial3 octubre 2013 Modifica el valor a Wikidata
Llicènciallicència Apache Modifica el valor a Wikidata
Característiques tècniques
Plataformax86_64 Modifica el valor a Wikidata
Més informació
Lloc webcoreos.com Modifica el valor a Wikidata
Id. DistroWatchcoreos Modifica el valor a Wikidata
Id. Subredditcoreos Modifica el valor a Wikidata

CoreOS és un sistema operatiu lleuger de codi obert basat en el nucli de Linux i desenvolupat per proporcionar la infraestructura per als desplegaments en clúster, seguidament, es centra en la automatització, facilitat de desplegament d'aplicacions, seguretat, fiabilitat i escalabilitat. Com sistema operatiu, CoreOS ofereix només les funcionalitats mínimes necessaris per la implementació d'aplicacions dins de contenidors de software, junt amb mecanismes incorporats per al descubriment de serveis i el intercanvi de configuració.[1][2][3][4]

CoreOS és una bifurcació de Chrome OS, entremig de la utilització del seu kit de desenvolupament de software (SDK) disponible sense cost a través de Chromium OS com a base, al mateix temps que afegeix noves funcionalitats y personalització per suportar el hardware utilitzat en servidors.[3][5] A partir de juliol de 2014, CoreOS se desenvolupa activament, sobretot per Alex Polvi, Brandon Phillips y Michael Marineau,[2] amb les seves característiques principals (excepte ETCD y fleet) disponibles com a una versió estable.[6][7][8]

Overview

CoreOS no proporciona un gestor de paquets, de manera que requereix que totes les aplicacions s'executin dins dels seus contenidors, utilitzant Docker i els seus contenidors Linux (LXC) subjacents de virtualització a nivell de sistema operatiu de tecnologia per a l'execució de múltiples sistemes Linux aïllats en un únic host de control (instància coreos). D'aquesta manera, la partició dels recursos es porta a terme a través de múltiples instàncies de espais d'usuari aïllades, en lloc d'utilitzar un hipervisor i una màquina virtual. Aquest enfocament es basa en cgroups, funcionalitat del nucli de Linux que ofereix aïllament del espai de noms i habilitats per limitar, comptabilitzar i aïllar l'ús dels recursos (CPU, la memòria, disc I / O, etc.) d'un grup de processos.[1] [4] [9]

Distribució de actualitzacions

Per mayor seguretat y fiabilitat en actualitzacions, CoreOS empra FastPatch com a un esquema de doble partició només per a la seva lectura de sistema de archius arrel, el que significa que las actualitzacions del sistema operatiu es duen a terme en la seva totalitat i s'instal·len en una partició secundària passiva arrel, que s'activa al reiniciar o realitzant una execució de nucli (kexec). D'aquesta manera, reversions fàcils a la versió coneguda a-ser-estable del sistema operatiu també es va assegurar, i cada partició d'arrencada pot ser firmó per a la seguretat adicional. Parts gravables del sistema d'archius s'emmagatzemen en una partició "estat" independent, que es canvia de mida automàticament per ocupar tot l'espai disponible en disc en els reinicis.[1][4][10][11]

El sistema de distribució d'actualitzacions de CoreOS es basa en el projecte de codi obert de Google Omaha, que proporciona un mecanisme per al desdoblament de las actualitzacions y el protocol subjacent petició-resposta sobre la base de XML[12][13] A més, CoreOS ofereix CoreUpdate com a un dashboard basat en la web per a la gestió de las actualitzacions del clúster. Les operacions disponibles a través de CoreUpdate inclueixen la asignació dels membres del cluster als diferents grups que comparteixen les polítiques d'actualització personalitzades, revisar les falles de tot el cluster en versions de CoreOS, detendre i reiniciar les actualitzacions, i la revisió dels registres d'actualització gravats. CoreUpdate també ofereix una API basada en HTTP que permet la seva integració en els serveis de tercers o sistemes de desdoblament.[10][14][15]

Infraestructura de Cluster

CoreOS ofrece ETCD, un dimoni, 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.[1][4][16][17][18]

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 d'inici 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.[19][20][21][22]

Tanto etcd como fleet están escritos en el lenguaje de programación GO y distribuidas bajo la licencia de Apache 2.0

Despliegue

Además de ejecutar en hardware dedicado, donde puede ser tanto instalado en el disco permanentemente como ejecutado remotamente via PXE o iPXE,[23][24][25] CoreOS soporta despliegues en varias plataformas de virtualización de hardware, incluyendo Amazon EC2, DigitalOcean, Google Compute Engine, Microsoft Azure, OpenStack, QEMU / KVM, Vagrant y VMware.[4][26][27][28]

Notes