Ohjelmointi

Katsaus: Parhaat Dockerin ja konttien Linux-distrot

Viimeisen kuuden kuukauden aikana olen tarkistanut viisi minimaalista Linux-jakelua, jotka on optimoitu konttien ajamiseksi: Alpine Linux, CoreOS Container Linux, RancherOS, Red Hat Atomic Host ja VMware Photon OS. Nämä riisutut, tarkoitukseen rakennetut Linux-jakelut eivät yleensä ole ainoa tapa käyttää kontteja tuotannossa, mutta ne ovat perusta, joka ei tuhlaa resursseja muuhun kuin konttitukeen.

Konttien käyttöönottojärjestelmien teollisuustila on hyvin samanlainen kuin Linux-jakelun alkuaikoina. Sinulla on yksi avainelementti, tässä tapauksessa Docker-kontti, jota ympäröi joukko kilpailevia ekosysteemikomponentteja. Aivan kuten perinteiset Linux-jakelupaketit sisälsivät erilaisia ​​paketinhallintaohjelmia, työpöytäympäristöjä, järjestelmäapuohjelmia, palveluita ja sovelluksia, useimmat konttijakelut sekoittavat ja sovittavat komponentteja luomaan optimaaliseksi ratkaisuksi. Otetaan esimerkiksi hajautettu kokoonpano ja palvelujen löytäminen. Tähän on useita ratkaisuja, kuten Etcd, Consul ja ZooKeeper.

Jokaisella jakelulla on erilainen lähestymistapa siihen, mitä pino sisällytetään. Yhdessä ääripäässä on jakeluja, jotka on suunniteltu tukemaan vain pinon ylempiä tasoja, kuten CoreOS Container Linux ja Red Hat Project Atomic. Niin paljon toiminnallisuudesta on sijoitettu omaan hallintakerrokseen, että käyttöjärjestelmän käyttämiseen mihinkään muuhun ei ole juurikaan toivoa. Muut distrot, kuten RancherOS ja VMware Photon OS, tarjoavat enemmän joustavuutta ja tukevat useita ekosysteemikomponentteja ja orkestrointijärjestelmiä. Nämä antavat järjestelmänvalvojille hyvän tavan kokeilla ja välttää toimittajan lukittumista.

Alpine Linux

Alpine Linux, monien virallisten Docker-kuvien taustalla oleva käyttöjärjestelmä, on loistava valinta tehtävään. Vain viiden megatavun kokoinen Alpine Linux on spektrin vastakkaisella puolella verrattuna muutaman vuoden takaisiin täysrasvoisiin Linux-jakeluihin, jotka kilpailivat Solariksen kanssa ja aikoivat toimia massiivisilla laitteistoilla. Tämä uusi Linux-rotu on suunniteltu toimimaan sulautetulla laitteistolla, ja se kuluttaa vähän resursseja, joten se on täydellinen valinta kontteihin.

Alpine Linuxin perintö sulautettujen järjestelmien käyttöjärjestelmänä oli ilmeinen tarkistukseni aikana. Monet kokoonpanovaihtoehdoista ovat oletusarvoisesti sulautettuja järjestelmiä, ja dokumentaatio monilla alueilla oli harvinaista tai sitä ei ollut lainkaan. Selkeä järjestelmä, joka on suunniteltu ja ensisijaisesti hakkerien käytössä, Alpine Linux vaatii yrityksiä selvittämään muutaman esteen sovellustensa rakentamiseksi.

Alpine Linux -tuotannon käyttöönotolla on useita etuja, mukaan lukien nopea käynnistys, minimalistinen jalanjälki ja oletusarvoisesti suojattu asenne, jota ei löydy muualta. Kaikki järjestelmän binääreistä C-kirjastoihin on suunniteltu pieneen, nopeaan ja turvalliseen käyttöönottoon. Täällä ei ole turvotusta.

Alpine Linuxin hallinta on erilaista kuin perinteisissä Linux-järjestelmissä, ja oppiminen vie jonkin aikaa. Asennus ja pakettien hallinta ovat ainutlaatuisia jopa konttien käyttöjärjestelmissä, vaikkakin hyvin harkittuja. Jos kehityspalvelussa on keskimääräistä kehittäjiä, jotka ovat valmiita tekemään investoinnin, Alpine Linux tarjoaa vankan, vakaan ja turvallisen pohjan sovelluksille vielä pitkäksi ajaksi.

CoreOS Container Linux

CoreOS-konttipino hyödyntää Etcd: tä hajautettua tallennustilaa ja palvelujen löytämistä varten, Flanneliä verkkotoiminnassa ja Kubernetesia konttien orkestroinnissa ja tukee Dockerin lisäksi omaa makua konttiformaatissaan rkt (Rocket). Rocket oli yritys kilpailevaan konttimuotoon Docker-muodon noin vuonna 2015 ilmenneiden puutteiden korjaamiseksi, mutta näiden puutteiden korjaamiseksi Rocket ei ole nähnyt paljon käyttöä.

Liittyvä video: Mikä on Kubernetes?

Tässä 90 sekunnin videossa saat tietoa Kubernetesista, avoimen lähdekoodijärjestelmästä konttisovellusten automatisointiin, yhdeltä tekniikan keksijältä, Joe Bedalta, Heption perustajalta ja CTO: lta.

CoreOS, kuten Project Atomic, ei pelkää radikaalia poikkeamista perinteisestä Linuxista. Kuten Red Hatin kontti-käyttöjärjestelmä, CoreOS Container Linux luo pääosin muuttumattoman tiedostojärjestelmän, mutta tekee sen Googlen Chromium-käyttöjärjestelmän innoittamana levyosiointijärjestelmällä. Se säilyttää vanhan tiedostojärjestelmän osiossa, mikä tarkoittaa, että palautukset ovat aina turvallisia ja nopeita.

Vaikka dokumentaatio on melko hyvä ja kattava, asennus on mielestäni hieman hankalaa, ja siihen sisältyy kaksivaiheinen prosessi kokoonpanotiedoston johtamiseksi. Asennuksen jälkeen CoreOS tarjoaa kuitenkin jatkuvia päivityksiä, "ei seisokkeja", ominaisuuden, jonka ainutlaatuinen levyosioasettelu mahdollistaa. CoreOS on tehnyt paljon työtä täällä, ja yritys tarjoaa erilaisia ​​huoltovaihtoehtoja, jotka sopivat useimmille organisaatioille, mukaan lukien kyky kieltäytyä.

CoreOS, jokseenkin Project Atomicin tavoin, on päätös kaikesta tai ei mitään. Palojen erottaminen toisistaan ​​ja taustalla olevan käyttöjärjestelmän käyttö oman konttiinfrastruktuurin rakentamiseen ei ole oikeastaan ​​vaihtoehto kaikkien alustalle pakattujen arkkitehtonisten suunnittelupäätösten vuoksi. Jos olet valmis hyväksymään nuo päätökset ja maksamaan CoreOS: n kaupallisesta Kubernetes-jakelusta, Tectonic, voit epäilemättä suorittaa vakavan raskaan nostamisen.

Rancher Labs RancherOS

Rancher Labsin RancherOS on Linux-käyttöjärjestelmä, joka koostuu kokonaan säiliöistä. Jopa init-prosessi (PID 1) on Docker-säilö. Tämä tarkoittaa, että paketinhallintajärjestelmää ei tarvita. Käyttöjärjestelmän päivityksiä (ja päivityksiä) hallitaan Dockerilla, kuten kaikkia muita kontteja.

Vaikka tämä lähestymistapa on yhtä radikaali kuin joissakin muissa jakeluissa, kuten Project Atomic ja CoreOS, tehdyt arkkitehtoniset päätökset, tulos on yllättävän yksinkertainen. Vaikka minkä tahansa uuden järjestelmänhallinnan oppiminen tuntuu aluksi pelottavalta, sinun on joka tapauksessa tunnettava Docker konttien hallinnassa, joten miksi et käyttäisi samaa järjestelmää molemmille?

RancherOS näyttää kypsyvän nopeasti. Tarkastuksessani löysin hieman puuttuvan dokumentaation, mutta kaikki kehittäjät tai järjestelmänvalvojat, jotka tuntevat Docker-kontit, tuntevat jo suurimman osan järjestelmästä. RancherOSilla on pieni jalanjälki (20 Mt), ja se käyttää resursseja tehokkaasti. Vaikka Rancherin konttienhallintajärjestelmän ja käyttöjärjestelmän Rancher väliset linjat ovat jonkin verran hämärät, konttienhallintajärjestelmä on ilmainen ja avoimen lähdekoodin, joten ei ole mitään syytä yrittää kehittää omaa. Organisaatioiden, jotka tarvitsevat pääsyn lähdekoodiin, ei pitäisi enää etsiä.

Rancher-alusta tukee lähes koko konttien hallinnan työkalujen ekosysteemiä, mukaan lukien Docker Swarm, Kubernetes ja Mesos, ja se etenee nopeasti. Vaikka RancherOS eroaa radikaalisti perinteisestä UNIX: stä, näyttää siltä, ​​että se on noudattanut läheisemmin UNIX: n perusfilosofiaa kuin muut kontti-käyttöjärjestelmän jakelut: Yksinkertaiset työkalut toimivat tyylikkäästi yhdessä.

Red Hat Project Atomic

Red Hatin Project Atomic on tiukasti Kubernetes-palvelujärjestämisen leirillä. Tyypillisesti tämän tyyppinen käyttöönotto on suunnattu laajamittaisiin, erittäin saatavilla oleviin skenaarioihin. Haittapuoli on, että sinun on periaatteessa "tehtävä kuten käsketään" ja suunniteltava sovellus sopimuksella.

Laatikosta löytyy Flannel verkkoon, Etcd hajautettuun avainarvotallennukseen ja OSTree isännän hallintaan. OSTree on suhteellisen uusi tapa ottaa käyttöjärjestelmä käyttöön laajamittaisesti luotettavasti ja hajautetusti. Atomic yhdistää OSTree-ohjelman uuden RPM-paketinhallinnan kanssa luodakseen RPM-OSTree-ohjelman, joka toimittaa pääosin muuttumattoman tiedostojärjestelmän.

Löysin Project Atomicin haasteena. Se on erittäin kunnianhimoinen ja liikkuva nopeasti, ja siinä on monia liikkuvia osia. RHEL, CentOS, Fedora, SELinux, Systemd, mukautettu “Docker” -komentojoukko hallitsemaan taustalla olevaa isäntää… ne kaikki ovat sekoituksessa, ja dokumentaatio on epäjärjestyksellinen ja hämmentävä. Lisäksi minun piti pienessä klusterissani, josta puuttui kokki, suola tai nukke, konfiguroida kukin solmu manuaalisesti.

Tärkeintä on, että Project Atomic tarvitsee vielä jonkin aikaa paistamiseen. Jos visio toteutuu, siitä voi tulla tulevaisuuden standardi - tosin ei palvelinkeskuksille, joissa on satoja solmuja, mutta tuhansia tai kymmeniä tuhansia. Tältä osin visio näyttää olevan lähempänä Mesoksen näkemystä kuin tyypillinen konttien käyttöönottojärjestelmä. Jos yrityksesi elää ja hengittää Red Hat -ekosysteemiä ja aikoo pysyä siellä, Project Atomic kannattaa todennäköisesti aloittaa.

VMware Photon OS

VMwaren Photon OS on vähäinen Linux-konttiisäntä, joka on suunniteltu pieneksi ja joka on viritetty VMware-hypervisoreille. Photon OS toimii sellaisenaan vain virtuaaliympäristöissä; fyysiseen laitteistoon käyttöönotto ei ole mahdollista. Photon OS on räätälöity helpottamaan konttien hallintaa, mutta ei niin radikaalisti kuin Atomic tai CoreOS. Photon OS on enemmän evoluutiovaihe.

Testaukseni perusteella Photo OS täyttää lupauksensa VMware-virtuaaliympäristössä. (Photon OS voi toimia myös muilla hypervisoreilla sekä Google- ja Amazon-pilvissä.) Koska Photon OS voi tehdä oletuksia laitteistosta (virtuaalinen), ekosysteemi näyttää hyvin samalta kuin tavallinen Linux, mikä tekee oppimiskäyrästä vähemmän jyrkän. Verkko ja tallennus ovat Systemd-yhteensopivia, ja konttiverkkoon on dokumentoitu useita vaihtoehtoja. Photon OS: n dokumentaatio voi olla paras tarkastettujen tuotteiden joukossa.

VMware on johtavassa asemassa perinteisten ympäristöjen konttien valmistuksessa, ja tämä on järkevää ajatellessasi sitä. Kuinka usein sinua on pyydetty kuvaamaan eroa säilön ja virtuaalikoneen välillä? Photon OS: n kanssa ei pian ole mitään eroa: Säiliöt ovat vain kevyt virtuaalikone, jotka otetaan käyttöön ja hallitaan samoilla työkaluilla. Photon OS tukee käytännössä kaikkia suuria osia konttiekosysteemistä: Docker- ja Rocket-kontit, Docker Swarm, Kubernetes, Mesos, Google Cloud Engine, Amazon EC2 ja paljon muuta.

Kaikista tarkistamistani jakeluista VMware Photon OS näyttää sekä visionäärisimmältä että tällä hetkellä täydellisimmältä ja käyttökelpoisimmalta. Jos olet VMware-kauppa, joka tutkii konttien kuljettamista, en ajattele mitään muuta. Jos et ole VMware-kauppa, Photon OS kannattaa silti näyttää hyvältä.

Konttien käyttöjärjestelmien vertailu

Alpine Linux tukee useimpia jokaisia ​​siellä olevia Docker-kuvia. Alpine Linuxia, joka on täydellinen sulautettuihin sovelluksiin, ei pidä ajatella tavana käyttää kontteja. Sen sijaan tavallaan Alpine Linux On astiaan. Kehittäjät, jotka tuntevat sovellusten rakentamisen Alpine Linuxille, kirjoittavat parempia konttisovelluksia.

CoreOS, yksi varhaisimmista konttien käyttöjärjestelmistä, ottaa käyttöön Googlen tekniikkapinon. Se tarjoaa luotettavan, vaikkakin harkitun tavan hallita konttiinfrastruktuuria. Vaikka CoreOS tarjoaa monia komponentteja saatavana avoimena lähdekoodina, niin suuren pinon oppimisen monimutkaisuus tarkoittaa sitä, että käyttäjien on ostettava oma Techtonic-orkestrointijärjestelmä tuotantokäyttöön. Jos raha ei ole esine ja sinun on asennettava Google-kokoisia sovelluksia, CoreOS on looginen valinta.

RancherOS on puhdasta astiaa. Jos aiot käyttää omaa konttiinfrastruktuuriasi tai haluat pienimmän kontinhallintapinon, RancherOS on oikea paikka aloittaa. Kun avoimen lähdekoodin orkestrointi- ja ajoitustyökalut, kuten Docker Swarm, Kubernetes ja Mesos, ovat kaikki vapaasti saatavilla, Rancher-pino houkuttelee avoimen lähdekoodin suuntautuneita, tee-se-itse-yrityksiä.

Red Hat's Project Atomic on kattoprojekti, joka suunnittelee uudelleen tapaa, jolla yritykset käyttävät infrastruktuuria. Tämä kunnianhimoinen projekti voi muuttaa tapaa, jolla yritykset ajattelevat sovellusten käyttöönotosta, mutta tie on pitkä. Project Atomic soveltuu parhaiten varhaisessa vaiheessa käyttöönottaneille, joille on tehty suuri investointi Red Hat -teknologioihin.

VMwaren Photon OS tuo kyseisen toimittajan virtuaalikoneen hallintatekniikan ja kokemuksen kontteihin. Photon OS on otettu käyttöön virtuaalikoneena ja sitä hallitaan perinteisillä virtuaalikoneilla. VMware, kenties nähdessään perinteisten virtuaalikoneiden kirjoituksen seinällä, on pitänyt sydämensä omaksumassa konttitekniikkaa ja etenee nopeasti tekniikan tasoa. Jos olet nyt VMware-kauppa, sinun on vaikea löytää parempaa konttiympäristöä kuin Photon OS.

Lue kontti Linux-arvostelut:

  • Katsaus: Alpine Linux on tehty Dockerille
  • CoreOS-arvostelu: Linux kontteille ja Kubernetesille
  • RancherOS: Yksinkertaisempi Linux Docker-ystäville
  • Arvostelu: Red Hat tekee Dockerille vaikean tavan
  • Katsaus: VMwaren Photon OS loistaa Docker-säiliöille
$config[zx-auto] not found$config[zx-overlay] not found