CoreOS

CoreOS
Logo
Prosjekt status Under utvikling
Plattformer x86-64
Bedrift /
Utvikler
Rød hatt
Tillatelse Apache License 2.0
Nettsted https://coreos.com/os/docs/latest/

Container Linux (tidligere CoreOS Linux ) er et lett kildekode operativsystem basert på Linux-kjernen og designet for å gi infrastruktur for klyngedistribusjoner , mens du fokuserer på automatisering, enkel applikasjonsutplassering, sikkerhet, pålitelighet og skalerbarhet . Som et operativsystem gir Container Linux bare den minste funksjonaliteten som kreves for å distribuere applikasjoner i programvarebeholdere, samt innebygde mekanismer for tjenesteoppdagelse og konfigurasjonsdeling.

Container Linux deler stiftelser med Gentoo Linux , Chrome OS og Chromium OS gjennom et felles programvareutviklingssett (SDK). Container Linux legger til nye funksjoner og tilpasninger til dette delte fundamentet for å støtte ekstra maskinvare og brukstilfeller. I begynnelsen av 2015 utvikles CoreOS aktivt, hovedsakelig av Alex Polvi, Brandon Philips og Michael Marineau, med hovedfunksjonene som er tilgjengelige i stabil versjon.

Oversikt

Container Linux tilbyr ikke noen pakkehåndtering som en måte å distribuere applikasjoner på, i stedet for at alle applikasjoner skal kjøres i containerne sine. En Container Linux-forekomst fungerer som en enkelt kontrollvert og bruker de underliggende virtualiseringsfunksjonene på Linux-kjernens operativsystemnivå for å opprette og konfigurere flere containere som fungerer som isolerte Linux- systemer . På denne måten blir partisjoneringen av ressurser mellom containere gjort gjennom flere isolerte brukerromforekomster , i stedet for å bruke en hypervisor og tilby fullverdige virtuelle maskiner . Denne tilnærmingen er avhengig av funksjonaliteten til gruppene og navneområdene til Linux-kjernen som til sammen gir muligheter for å begrense, ta hensyn til og isolere bruken av ressurser ( CPU , minne, disk I / O , etc.) for prosesssamlinger for brukerrom.

Opprinnelig brukte Container Linux utelukkende Docker som en komponent som ga et ekstra lag med abstraksjon og grensesnitt til virtualiseringsfunksjonaliteten på operativsystemnivået til Linux-kjernen, samt å gi et standardisert format for containere som lar applikasjoner kjøre i forskjellige miljøer. I desember 2014 lanserte CoreOS og begynte å støtte rkt (opprinnelig utgitt som Rocket ) som et alternativ til Docker, og ga gjennom det et annet standardisert format for applikasjonsbeholderbilder, definisjonen av containerens kjøretidsmiljø og en protokoll for oppdagelse og henting av containerbilder . CoreOS gir rkt som en implementering av den såkalte Application Container (appc) spesifikasjonen som beskriver de nødvendige egenskapene til Application Container Image (ACI); CoreOS lanserte appc og ACI som et sett med uavhengige spesifikasjoner drevet av en komité - uavhengig komité for operativsystemleverandører - med sikte på å integrere dem i Open Container Initiative (OCI); opprinnelig kalt Open Container Project eller OCP)

Containeriseringsstandarden ble kunngjort I juni 2015.

Container Linux bruker Gentoo Linux ebuild- skript for automatisk kompilering av systemkomponentene, og bruker systemd som sitt primære oppstartssystem med tett integrasjon mellom systemd og forskjellige interne mekanismer i Container Linux.

Klyngeinfrastruktur

Container Linux tilbyr etcd, en demon som kjører på alle datamaskiner i en klynge og gir et dynamisk konfigurasjonsregister, slik at ulike konfigurasjonsdata enkelt og pålitelig kan deles mellom klyngemedlemmer. Siden nøkkelverdi-data som er lagret i etcd automatisk fordeles og replikeres sammen med automatisert hovedvalg og konsensus bygge ved hjelp av flåten algoritmen , blir eventuelle endringer av de lagrede data som reflekteres på den 'hele klyngen, mens de resulterende redundans hindrer cluster medlems feil fra å forårsake tap av data. I tillegg til konfigurasjonsadministrasjon, gir etcd også tjenesteoppdagelse ved å la distribuerte applikasjoner annonsere seg selv og liste opp tjenestene de tilbyr. Kommunikasjon med etcd skjer via et REST API eksponert over HTTP, som kommuniserer i JSON ; API kan brukes direkte ( for eksempel via curl eller wget ), eller indirekte av etcdctl , som er et spesialisert kommandolinjeverktøy også levert av CoreOS. . Etcd brukes også i Kubernetes programvare .

Container Linux gir også flåten sektorleder som styrer separere systemd forekomster av beholderen Linux. Fra og med 2017 er flåten ikke lenger aktivt utviklet og avskaffet til fordel for Kubernetes . Ved hjelp av fleetd oppretter Container Linux et distribuert oppstartssystem som kobler separate systemd-forekomster til en distribusjonsomfattende etcd ; internt kommuniserer fleetd- demonen med det lokale systemet gjennom D-bussen , og med distribusjonen etcd via API-en eksponert av etcd . Bruk av fleetd muliggjør distribusjon av en eller flere containere i hele klyngen, med mer avanserte alternativer, inkludert redundans, failover , distribusjon til bestemte klyngemedlemmer, avhengigheter mellom containere og gruppert distribusjon av containere. Et kommandolinjeverktøy kalt fleetctl brukes til å konfigurere og overvåke dette distribuerte oppstartssystemet; internt kommuniserer den med fleetd- demonen ved hjelp av en JSON-basert API over HTTP, denne API-en kan også brukes direkte. Når det brukes lokalt på et klyngemedlem, kommuniserer fleetctl med den lokale forekomsten av fleetd på en Unix- domenesokkel  ; når den brukes eksternt, brukes SSH-tunneling med autentisering gitt gjennom offentlige SSH-nøkler .

Alle de ovennevnte kommandolinjedemonene og verktøyene ( etcd , etcdctl , fleetd og fleetctl ) er skrevet i GB og distribuert under vilkårene for Apache 2.0-lisensen.

Utplassering

Når du kjører på dedikert maskinvare, kan Container Linux installeres permanent på lokal lagring, for eksempel en harddisk (HDD) eller solid state- stasjon, eller startes eksternt over et nettverk med Preboot Execution Environment (PXE) generelt, eller iPXE som en av implementeringene av PXE. CoreOS støtter også distribusjoner på forskjellige virtualiseringsplattformer, inkludert Amazon EC2 , DigitalOcean, Google Compute Engine, Microsoft Azure , OpenStack , QEMU / KVM , Vagrant og VMware . Container Linux kan også installeres på Citrix XenServer, og bemerker at det er en "mal" for CoreOS.

Container Linux kan også distribueres gjennom kommersiell distribusjon kalt Tectonic , som integreres med Googles Kubernetes som et klyngeadministrasjonsverktøy. April 2015 ble Tectonic tilbudt som beta-programvare for utvalgte kunder. I tillegg tilbyr CoreOS Flannel som en komponent som implementerer et overleggsnettverk som primært kreves for integrering med Kubernetes.

Teknologier

Derivater

Etter oppkjøpet av CoreOS, Inc. i januar 2018 kunngjorde Red Hat at de vil slå sammen CoreOS Container Linux med Red Hats Atomic-prosjekt, for å lage et nytt operativsystem, Red Hat CoreOS, mens de tilpasser samfunnets åpen kildekode Fedora Project rundt Fedora CoreOS. , som kombinerer teknologiene til de to forgjengerne.

Hjem

LWN.net gjennomgikk CoreOS i 2014: “  For de som setter sammen store, distribuerte systemer - nettapplikasjoner er et godt eksempel - CoreOS ser ut til å ha mye interessant funksjonalitet. Det skal tillate applikasjoner av den typen å vokse og krympe etter behov med etterspørsel, samt gi en stabil plattform der oppgraderinger ikke er en konstant hodepine. For "massive serverdistribusjoner" ser CoreOS, eller noe med mange av de samme egenskapene, ut som fremtiden.  "

Se også

Referanser

  1. “  CoreOS Linux er nå Container Linux  ” , coreos.com (åpnet 20. desember 2016 )
  2. Libby Clark, "  Brandon Philips: How the CoreOS Linux Distro Uses Cgroups  " [ arkiv av22. februar 2014] , Linux.com ,9. september 2013(åpnet 13. februar 2014 )
  3. “  CoreOS - en ny tilnærming til Linux-baserte serversystemer  ” , itnews2day.com ,22. august 2013(åpnet 26. mars 2014 )
  4. “  CoreOS-dokumentasjon: Bruk av CoreOS  ” , coreos.com (åpnet 13. februar 2014 )
  5. "  Bygningsutviklingsbilder: Oppdaterer portastabile ebuilds fra Gentoo  " , coreos.com (åpnet 24. mai 2016 )
  6. “  Distribusjoner basert på Gentoo  ” , gentoo.org ,25. mars 2016(åpnet 24. mai 2016 )
  7. Brian Harrington, “  CoreOS: Anatomy of a CoreOS update  ” , youtube.com , Rackspace,8. juli 2014(åpnet 25. juli 2014 )
  8. Alex Polvi, “  CoreOS Stable Release  ” , coreos.com ,25. juli 2014(åpnet 28. august 2014 )
  9. "  CoreOS Release Notes  " , coreos.com (åpnet 28. august 2014 )
  10. Brandon Philips, "  etcd 2.0 Release - First Major Stable Release  " , coreos.com ,28. januar 2015(åpnet 14. juni 2015 )
  11. Jonathan Corbet, "  Notater fra en container  " , LWN.net ,29. oktober 2007(åpnet 3. juli 2016 )
  12. Jake Edge, “  Kontrollgruppe navnerom  ” , LWN.net ,19. november 2014(åpnet 3. juli 2016 )
  13. Libby Clark, "  Brandon Philips: Hvordan CoreOS Linux Distro bruker cgroups  " [ arkiv22. februar 2014] , Linux.com ,9. september 2013(åpnet 13. februar 2014 )
  14. “  CoreOS-dokumentasjon: Bruk av Docker med CoreOS  ” [ arkiv av4. august 2016] , coreos.com (åpnet 14. juni 2015 )
  15. “  Docker 0.9: Introduksjon til kjøringsdrivere og libcontainer  ” , docker.com ,10. mars 2014(åpnet 20. januar 2015 )
  16. Libby Clark, “  CoreOS medstifter Alex Polvi Talks Containers, Rocket vs. Docker, og mer  ” , Linux.com ,30. januar 2015(åpnet 14. juni 2015 )
  17. Charles Babcock, "  Rocket Containers: How CoreOS Plans To Challenge Docker  " , informationweek.com ,20. februar 2015(åpnet 14. juni 2015 )
  18. Alex Polvi, “  CoreOS bygger en container runtime, rkt  ” , coreos.com ,1 st desember 2014(åpnet 14. juni 2015 )
  19. Josh Berkus, "  Nye etcd, appc og Rocket utgivelser fra CoreOS  " , LWN.net ,4. februar 2015(åpnet 22. juni 2015 )
  20. Josh Berkus, “  CoreOS Fest og verden av containere, del 1  ” , LWN.net ,13. mai 2015(åpnet 22. juni 2015 )
  21. Nathan Willis, "  The Rocket containerization system  " , LWN.net ,3. desember 2014(åpnet 22. juni 2015 )
  22. (in) Neil McAllister , Docker and chums unveil org standards for software containers  " , The Register , 22. juni 2015( les online , konsultert 19. januar 2017 )
  23. (in) Frederic Lardinois , "  Docker CoreOS, Google, Microsoft, Amazon og andre kommer sammen for å utvikle felles standardcontainer  " , TechCrunch ,22. juni 2015( les online , konsultert 24. juni 2015 )
  24. "  Bransjeledere forener seg for å lage prosjekt for åpne containerstandarder  " [ arkiv av13. august 2015] , opencontainers.org ,22. juni 2015(åpnet 24. juni 2015 )
  25. Neil McAllister, “  Open Container Project omdøper, sier at standarden er bare noen uker unna: Linux Foundation, Docker og venner velger Open Container Initiative  ” , The Register ,22. juli 2015(åpnet 29. januar 2016 )
  26. "  CoreOS-dokumentasjon: Bruk av systemd med CoreOS  " [ arkiv av14. februar 2014] , coreos.com (åpnet 13. februar 2014 )
  27. Mark Moudy, “  CoreOS + Docker Development Environment Demo  ” , github.com ,16. mai 2014(åpnet 16. april 2015 )
  28. Timothy Prickett Morgan, "  CoreOS Hyperscales Linux By Making It Invisible  " , nextplatform.com ,15. februar 2015(åpnet 14. juni 2015 )
  29. Phil Whelan, "  Alex POLVI Forklarer coreos  " [ arkiv av24. februar 2015] , activestate.com ,28. august 2013(åpnet 7. mai 2015 )
  30. Jonathan Corbet, "  Etcd and fleet  " , LWN.net ,22. oktober 2014(åpnet 22. juni 2015 )
  31. "  CoreOS-dokumentasjon: Bruk etcd med CoreOS  " , coreos.com (åpnet 13. februar 2014 )
  32. "  CoreOS-dokumentasjon: Komme i gang med etcd  " , coreos.com (åpnet 13. februar 2014 )
  33. Brandon Philips, "  etcd @ GoSF  " , speakerdeck.com ,15. januar 2014(åpnet 13. februar 2014 )
  34. Wood, “  Container orchestration: Moving from flottet to Kubernetes  ” , coreos..com , CoreOS
  35. Justin Ellingwood, “  Hvordan bruke Fleet og Fleetctl til å administrere CoreOS-klyngen  ” , digitalocean.com ,12. september 2014(åpnet 22. juni 2015 )
  36. "  CoreOS-dokumentasjon: Lansering av containere med flåte  " , coreos.com (åpnet 3. april 2014 )
  37. “  CoreOS-dokumentasjon: Bruk av klienten  ” , coreos.com (åpnet 3. april 2014 )
  38. "  coreos / Fleet: / README.md på master  " , github.com ,18. februar 2014(åpnet 3. april 2014 )
  39. "  coreos / flåte: flåte / Documentation / deployment-and-configuration.md ved master (Rulle flåten)  " , github.com ,14. april 2015(åpnet 17. april 2015 )
  40. "  coreos / flåte: flåte / Documentation / api-v1.md (flåten API v1)  " , github.com ,29. oktober 2014(åpnet 17. april 2015 )
  41. coreos / Fleet: / LISENS på master  " , github.com , 6. februar 2014(åpnet 3. april 2014 )
  42. "  CoreOS-dokumentasjon: Installere CoreOS til disk  " , coreos.com (åpnet 13. februar 2014 )
  43. "  CoreOS-dokumentasjon: Oppstart av CoreOS via PXE  " , coreos.com (åpnet 13. februar 2014 )
  44. "  CoreOS-dokumentasjon: Oppstart av CoreOS via iPXE  " , coreos.com (åpnet 13. februar 2014 )
  45. Alex Crawford, “  CoreOS Image Now Available on DigitalOcean  ” , coreos.com ,5. september 2014(åpnet 5. september 2014 )
  46. Jack Clark, “  Google bringer futuristisk Linux-programvare CoreOS inn i skyen sin  ” , The Register ,23. mai 2014(åpnet 26. mai 2014 )
  47. Alex Crawford, "  CoreOS nå tilgjengelig på Microsoft Azure  " , coreos.com ,20. oktober 2014(åpnet 22. oktober 2014 )
  48. (no) Av Steven J. Vaughan-Nichols , "  CoreOS bringer Googles Kubernetes til selskapet  " , ZDNet ,6. april 2015( les online , konsultert 29. april 2015 )
  49. Eugene Yakubovich, “  Introducing flannel: An etcd-backed overlay network for containers  ” , coreos.com ,28. august 2014(åpnet 22. juni 2015 )
  50. "  Veiledning om bruk av CoreOS Flannel for Docker  " , slideshare.net ,november 2014(åpnet 22. juni 2015 )
  51. "  The best container orchestration solution in production  " , på kubernetes.io (åpnet 3. februar 2020 ) .
  52. “  Container, Docker, hvordan det fungerer og hvilke fordeler det tar å være vert for applikasjonene dine? - Alfa-Safety  ” (åpnet 3. februar 2020 ) .
  53. "  Bygg og distribusjon av programmene dine med OpenShift  " , på Nexworld ,15. september 2017(åpnet 3. februar 2020 ) .
  54. (in) Rosoff, "  Red Hat-land $ 250 millioner for CoreOS har oppstart som selger Google-utviklet teknologi  " , CNBC ,30. januar 2018(åpnet 6. juni 2019 )
  55. “  Fedora coreos, Red Hat coreos, og fremtiden for Container Linux | CoreOS  ” , coreos.com (åpnet 6. juni 2019 )
  56. CoreOS: En annen type Linux-distribusjon , LWN.net .

Eksterne linker