CoreOS

De Viquipèdia
Salta a la navegació Salta a la cerca
Infotaula de programariCoreOS
CoreOS.svg
Versió inicial 3 octubre 2013
Versió estable

1576.5.0

/ 5 gener 2018; fa 20 mesos (2018-01-05)
Plataforma x86-64
Tipus de nucli Modular monolític
Llicència llicència Apache
Més informació
Lloc web Web oficial
Id. DistroWatch coreos
Id. Subreddit coreos
Modifica les dades 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 l'automatització, facilitat de desplegament d'aplicacions, seguretat, fiabilitat i escalabilitat. Com sistema operatiu, CoreOS ofereix només les funcionalitats mínimes necessaris per a la implementació d'aplicacions dins de contenidors de software, junt amb mecanismes incorporats per al descobriment de serveis i el intercanvi de configuració.[1][2][3][4]

CoreOS és un fork de Google Chrome OS, fent servir el seu «equip de desenvolupament de programari» (SDK) disponible sense cost, utilitzant Chromium OS com a base, al mateix temps que afegeix noves funcionalitats i personalització per suportar el maquinari 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]

Sumari[modifica]

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 d'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 de l'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[modifica]

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 les 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 addicional. 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 les actualitzacions i 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 les actualitzacions del clúster. Les operacions disponibles a través de CoreUpdate inclueixen l'assignació 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[modifica]

CoreOS ofereix ETCD, un dimoni, que s'executa en tots els equips en un clúster, permetent que les dades de configuració siguin fàcilment compartides, proporcionant un registre de configuració 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[modifica]

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[modifica]

  1. 1,0 1,1 1,2 1,3 Libby Clark. «Brandon Philips: How the CoreOS Linux Distro Uses Cgroups». Linux.com, setembre 9, 2013.
  2. 2,0 2,1 Cade Metz. «Linux Hackers Rebuild Internet From Silicon Valley Garage». Wired, agost 21, 2013.
  3. 3,0 3,1 «CoreOS – a new approach to Linux-based server systems», agost 22, 2013.
  4. 4,0 4,1 4,2 4,3 4,4 «CoreOS documentation».
  5. Brian Harrington. «CoreOS: Anatomy of a CoreOS update». Rackspace, juliol 8, 2014.
  6. Alex Polvi. «CoreOS Stable Release», juliol 25, 2014.
  7. «CoreOS Release Notes».
  8. Blake Mizerany. «etcdPlantilla:Snd The Road to 1.0», abril 14, 2014.
  9. «coreos documentation».
  10. 10,0 10,1 «CoreOS documentation».
  11. «CoreOS documentation».
  12. «Omaha software installer and auto-updater for Windows».
  13. «Omaha Overview», setembre 23, 2009.
  14. «Package omaha», juny 24, 2014.
  15. «CoreOS documentation». [Consulta: juliol 4, 2014].
  16. «CoreOS documentation».
  17. «CoreOS documentation».
  18. Brandon Philips. «etcd @ GoSF», gener 15, 2014.
  19. «CoreOS documentation».
  20. «CoreOS documentation».
  21. «coreos/fleet», febrer 18, 2014.
  22. «coreos/fleet», març 7, 2014.
  23. «CoreOS documentation».
  24. «CoreOS documentation».
  25. «CoreOS documentation».
  26. Alex Crawford. «CoreOS Image Now Available On DigitalOcean», setembre 5, 2014.
  27. Jack Clark. «Google brings intercambiofuturistic Linux software CoreOS onto its cloud». The Register, maig 23, 2014.
  28. Alex Crawford. «CoreOS Now Available On Microsoft Azure», octubre 20, 2014.
A Wikimedia Commons hi ha contingut multimèdia relatiu a: CoreOS Modifica l'enllaç a Wikidata