Vés al contingut

CoreOS

De la Viquipèdia, l'enciclopèdia lliure
CoreOS
Modifica el valor a Wikidata

Tipusdistribució GNU/Linux Modifica el valor a Wikidata
Versió inicial3 octubre 2013 Modifica el valor a Wikidata
Versió estable1576.5.0 / 5 gener 2018; fa 7 anys (2018-01-05)
Llicènciallicència Apache Modifica el valor a Wikidata
Característiques tècniques
Plataformax86_64 Modifica el valor a Wikidata
Tipus de nucliModular monolític
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, se 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 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 major seguretat y fiabilitat en actualitzacions, CoreOS empra FastPatch com un esquema de doble partició només per a la seva lectura de sistema de fitxers 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 de fitxers 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 un panell de control 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, aturar 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. Ja que totes les dades clau-valor emmagatzemades dins de ETCD son automàticament distribuïdes i replicades (amb elecció de mestre automatitzada), tots els canvis se reflexen a tot el clúster. A més de la gestió de configuració, ETCD també proporciona el descubriment de serveis al permetre aplicacions desplegades anunciar-se a sí mateixes. La comunicació amb ETCD es realitza mitjançant una API simple, que internament usa JSON a la part superior d'HTTP; la API es pot utilitzar directament (a través de curl , per exemple), o indirectament a través de etcdctl , que es una utilitat de línia de comandes també subministrada per CoreOS.[1][4][16][17][18]

CoreOS també ofereix fleet, un dimoni per l'administració del clúster, que controla instancies systemd separades de CoreOS a nivell del clúster. Mitjançant l'us de fleet, CoreOS crea un sistema d'inici distribuit que enlllaça diferents instancies de systemd i de desplegament ETCD en tot el clúster; internament, fleet es comunica amb systemd sobre D-Bus. Fleet permet tenir contenidors simples o múltiples que es desplegaran en tot el clúster, amb opcions mes avançades incloent redundància, failover, despliegue a membres específics del clúster, dependències entre els contenidores, i el desplegament de contenidors agrupats. La utilitat de línea de comandos denominada fleetctl se utiliza per configurar i supervisar aquest sistema init distribuït; internament, es comunica con el clúster ETCD. Quan s'utilitza de forma local en un membre del clúster, fleetctl es comunica con la instancia local de ETCD; quan s'utiliza desde un host extern, el túnel SSH s'utilitza amb l'autenticació proporcionada mitjançant la clave SSH pública.[19][20][21][22]

Tant etcd com fleet son escrits en el llenguatge de programació GO i distribuïts sota la llicencia 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 i 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.
  2. 2,0 2,1 Cade Metz. «Linux Hackers Rebuild Internet From Silicon Valley Garage». Wired.
  3. 3,0 3,1 «CoreOS – a new approach to Linux-based server systems». Arxivat de l'original el 2014-11-29. [Consulta: 6 març 2015].
  4. 4,0 4,1 4,2 4,3 4,4 «CoreOS documentation». Arxivat de l'original el 2014-02-23. [Consulta: 6 març 2015].
  5. Brian Harrington. «CoreOS: Anatomy of a CoreOS update». Rackspace.
  6. Alex Polvi. «CoreOS Stable Release».
  7. «CoreOS Release Notes». Arxivat de l'original el 2018-04-10.
  8. Blake Mizerany. «etcd – The Road to 1.0».
  9. «coreos documentation». Arxivat de l'original el 2014-02-14.
  10. 10,0 10,1 «CoreOS documentation».
  11. «CoreOS documentation».
  12. «Omaha software installer and auto-updater for Windows».[Enllaç no actiu]
  13. «Omaha Overview». Arxivat de l'original el 2009-05-06.
  14. «Package omaha».
  15. «CoreOS documentation».
  16. «CoreOS documentation».
  17. «CoreOS documentation».
  18. Brandon Philips. «etcd @ GoSF».
  19. «CoreOS documentation».
  20. «CoreOS documentation».
  21. «coreos/fleet».
  22. «coreos/fleet».
  23. «CoreOS documentation».
  24. «CoreOS documentation».
  25. «CoreOS documentation».
  26. Alex Crawford. «CoreOS Image Now Available On DigitalOcean».
  27. Jack Clark. «Google brings intercambiofuturistic Linux software CoreOS onto its cloud». The Register.
  28. Alex Crawford. «CoreOS Now Available On Microsoft Azure».