Programmēšana

Pārskats: labākie Linux distros Docker un konteineriem

Pēdējo sešu mēnešu laikā esmu pārskatījis piecus minimālos Linux izplatījumus, kas ir optimizēti konteineru darbināšanai: Alpine Linux, CoreOS Container Linux, RancherOS, Red Hat Atomic Host un VMware Photon OS. Šīs vispāratzītās kā “konteineru operētājsistēmas” šīs atdalītās, speciāli izveidotās Linux distribūcijas nav vienīgais veids, kā palaist konteinerus ražošanā, taču tie nodrošina bāzi, kas bez konteineru atbalsta netērē resursus.

Nozares stāvoklis ar konteineru izvietošanas sistēmām ir ļoti līdzīgs Linux izplatīšanas pirmajiem laikiem. Jums ir viens galvenais elements, šajā gadījumā Docker konteiners, kuru ieskauj vairāki konkurējoši ekosistēmas komponenti. Tāpat kā tradicionālie Linux distros apvienoja dažādus pakotņu pārvaldniekus, darbvirsmas vides, sistēmas utilītas, pakalpojumus un lietotnes, lielākā daļa konteineru izplatīšanas sajauc un saskaņo dažādus komponentus, lai izveidotu to, ko viņi uzskata par optimālu risinājumu. Piemēram, izmantojiet izplatīto konfigurāciju un pakalpojumu atklāšanu. Tam ir vairāki risinājumi, piemēram, Etcd, Consul un ZooKeeper.

Katram sadalījumam ir atšķirīga pieeja tam, ko iekļaut kaudzē. Vienā galējībā ir izplatījumi, kas paredzēti, lai atbalstītu tikai augstākos kaudzes līmeņus, piemēram, CoreOS Container Linux un Red Hat Project Atomic. Tik daudz funkcionalitātes ir ielikts patentētajā pārvaldības slānī, ka ir maz cerību izmantot OS jebkuram citam. Citi distrosi, piemēram, RancherOS un VMware Photon OS, nodrošina lielāku elastību, atbalstot vairākus ekosistēmas komponentus un orķestrēšanas sistēmas. Tie nodrošina administratoriem labu veidu, kā eksperimentēt un, iespējams, izvairīties no piegādātāja bloķēšanas.

Alpu Linux

Alpine Linux, kas ir daudzu oficiālo Docker attēlu operētājsistēma, ir lieliska izvēle šim uzdevumam. Tikai piecu megabaitu lielais Alpine Linux ir pretējā spektra galā, salīdzinot ar dažiem taukiem iepriekš izstrādātajiem Linux pilnpiederumiem, kuri konkurēja ar Solaris un bija paredzēti darbībai ar masīvām aparatūras sistēmām. Šī jaunā Linux šķirne ir paredzēta darbam ar iegulto aparatūru un patērē minimālus resursus, padarot to par lielisku izvēli konteineriem.

Alpine Linux kā iegulto sistēmu operētājsistēmas mantojums bija acīmredzams manā pārskatā. Daudzas no konfigurācijas opcijām pēc noklusējuma ir iegultās sistēmas, un daudzās jomās dokumentācija bija maz vai tās vispār nebija. Acīmredzot sistēma, kas paredzēta hakeriem un ko galvenokārt izmanto hakeri, Alpine Linux uzņēmumiem prasīs likvidēt dažus šķēršļus, lai izveidotu savas lietojumprogrammas.

Alpine Linux ražošanas ieviešanai būs vairākas priekšrocības, tostarp ātra palaišana, minimālisma nospiedums un drošība pēc noklusējuma, kas nav atrodama citur. Viss, sākot no sistēmas bināriem līdz C bibliotēkām, ir paredzēts nelielai, ātrai un drošai izvietošanai. Šeit nav uzpūsties.

Alpine Linux administrēšana atšķiras no tradicionālajām Linux sistēmām, un tās apgūšana prasīs zināmu laiku. Instalēšana un pakotņu pārvaldība ir unikāla pat starp konteineru operētājsistēmām, lai arī labi pārdomāta. Ja jūsu izstrādājumu veikalā ir izstrādātāji, kas ir vidēji augstāki par vidējo, kuri vēlas veikt ieguldījumus, Alpine Linux vēl ilgu laiku nodrošinās stabilu, stabilu un drošu pamatu lietojumprogrammām.

CoreOS konteiners Linux

CoreOS konteineru kaudze balstās uz Etcd sadalītās glabāšanas un pakalpojumu atklāšanai, Flannel tīklā un Kubernetes konteineru orķestrēšanai un atbalsta savu konteineru formāta garšu rkt (Rocket), papildus Docker. Raķete bija mēģinājums konkurējošā konteinera formātā novērst trūkumus Docker formātā aptuveni 2015. gadā, taču, novēršot šos trūkumus, Rocket nav redzējis daudz lietojumu.

Saistītais video: kas ir Kubernetes?

Šajā 90 sekunžu ilgajā videoklipā uzziniet par Kubernetes, atvērtā koda sistēmu konteinerizētu lietojumprogrammu automatizēšanai, ko ieguvis viens no šīs tehnoloģijas izgudrotājiem, Džo Beda, Heptio dibinātājs un CTO.

CoreOS, tāpat kā Project Atomic, nebaidās radikāli atšķirties no tradicionālā Linux. Tāpat kā Red Hat konteinera OS, CoreOS Container Linux izveido lielākoties nemainīgu failu sistēmu, taču to dara ar diska nodalīšanas sistēmu, kuru iedvesmojusi Google Chromium OS. Tas ļauj saglabāt nodalījumā veco failu sistēmu, kas nozīmē, ka atkāpšanās vienmēr ir drošas un ātras.

Lai gan dokumentācija ir diezgan laba un visaptveroša, es uzskatu, ka instalēšana ir nedaudz apgrūtinoša, ietverot divpakāpju procesu, lai iegūtu konfigurācijas failu. Pēc instalēšanas CoreOS piedāvā nepārtrauktus jauninājumus “bez dīkstāves” - šo funkciju nodrošina unikālais diska nodalījuma izkārtojums. CoreOS šeit ir paveicis daudz darba, un uzņēmums piedāvā dažādas uzturēšanas iespējas, kas būs piemērotas lielākajai daļai jebkuras organizācijas, ieskaitot iespēju atteikties.

CoreOS, nedaudz līdzīgs Project Atomic, ir lēmums par visu vai neko. Gabalu atdalīšana un pamatā esošās OS izmantošana, lai izveidotu savu konteineru infrastruktūru, patiesībā nav iespēja, pateicoties visiem arhitektūras dizaina lēmumiem, kas iekļauti platformā. Ja esat gatavs pieņemt šos lēmumus un maksāt par CoreOS komerciālo Kubernetes izplatīšanu, Tectonic, bez šaubām, jūs varētu veikt nopietni smagu celšanu.

Rancher Labs RancherOS

Rancher Labs ’RancherOS ir Linux operētājsistēma, kas pilnībā sastāv no konteineriem. Pat init process (PID 1) ir Docker konteiners. Tas nozīmē, ka nav nepieciešama pakešu pārvaldības sistēma. OS jauninājumus (un pazeminājumus) pārvalda ar Docker, tāpat kā jebkuru citu konteineru.

Lai gan šī pieeja ir tikpat radikāla kā arhitektūras lēmumi, kas pieņemti dažos citos izplatījumos, piemēram, Project Atomic un CoreOS, rezultāts ir pārsteidzoši vienkārša. Lai gan sākotnēji pilnīgi jaunas sistēmas administrēšana, šķiet, ir biedējoša, jums tik un tā ir jāzina Docker, lai pārvaldītu konteinerus, kāpēc gan neizmantot vienu un to pašu sistēmu abiem?

RancherOS, šķiet, ātri nobriest. Pārskatā es atklāju, ka dokumentācijas mazliet trūkst, taču jebkurš izstrādātājs vai administrators, kurš pārzina Docker konteinerus, jau zinās lielāko daļu sistēmas. RancherOS ir mazs nospiedums (20 MB), un tas efektīvi izmanto resursus. Kaut arī līnijas starp Rancher konteineru pārvaldības sistēmu un Rancher OS ir nedaudz izplūdušas, konteineru vadības sistēma ir brīva un atvērta pirmkoda, tāpēc nav pamata mēģināt izveidot savu. Organizācijām, kurām nepieciešama piekļuve pirmkodam, nevajadzētu meklēt tālāk.

Rancher platforma atbalsta gandrīz visu konteineru pārvaldības rīku ekosistēmu, tostarp Docker Swarm, Kubernetes un Mesos, un tā strauji virzās uz priekšu. Lai gan radikāli atšķiras no tradicionālā UNIX, šķiet, ka RancherOS ir stingrāk pieturējies pie UNIX pamata filozofijas nekā citi konteineru OS sadalījumi: vienkārši rīki darbojas eleganti.

Red Hat projekta Atomic

Red Hat’s Project Atomic stingri atrodas Kubernetes dienesta orķestrēšanas nometnē. Parasti šāda veida izvietošana ir vērsta uz liela mēroga, ļoti pieejamiem scenārijiem. Negatīvie ir tas, ka būtībā jums ir "jādara, kā jums saka", un pēc vienošanās jāprojektē lietojumprogramma.

Lodziņā atradīsit Flannel tīklošanai, Etcd sadalītai atslēgas vērtību glabāšanai un OSTree resursdatora pārvaldībai. OSTree ir salīdzinoši jauns veids, kā uzticami un izplatīti izvērst OS plašā mērogā. Atomic apvieno OSTree ar jaunu RPM pakotņu pārvaldnieku, lai izveidotu RPM-OSTree, kas nodrošina lielākoties nemainīgu failu sistēmu.

Es atklāju, ka Project Atomic ir izaicinājums. Tas ir ļoti vērienīgs un ātri kustīgs, ar daudzām kustīgām daļām. RHEL, CentOS, Fedora, SELinux, Systemd, pielāgota “Docker” komandu kopa, lai kontrolētu pamatā esošo resursdatoru ... tie visi ir apvienoti, un dokumentācija ir nesakārtota un mulsinoša. Turklāt manā mazajā klasterī, kurā trūka šefpavāra, sāls vai leļļu, man nācās manuāli konfigurēt katru mezglu.

Secinājums ir tāds, ka Project Atomic vēl ir vajadzīgs zināms laiks, lai ceptu. Ja vīzija tiek realizēta, tā var kļūt par nākotnes standartu - kaut arī ne datu centriem ar simtiem mezglu, bet tūkstošiem vai desmitiem tūkstošu. Šajā ziņā vīzija šķiet tuvāka Mesos redzējumam nekā tipiska konteineru izvietošanas sistēma. Ja jūsu uzņēmums dzīvo un elpo Red Hat ekosistēmu un plāno tur palikt, tad Project Atomic, iespējams, ir vērts sākt.

VMware Photon OS

VMware’s Photon OS ir minimāls Linux konteineru resursdators, kas paredzēts nelielam nospiedumam un pielāgots VMware hipervizoriem. Photon OS kā tāds darbojas tikai virtuālā vidē; izvietošana fiziskajā aparatūrā nav iespējama. Photon OS ir pielāgota, lai atvieglotu konteineru pārvaldību, taču ne tik radikāli kā Atomic vai CoreOS. Photon OS ir vairāk evolucionārs solis.

Pamatojoties uz manu testēšanu, Photo OS izpilda savus solījumus VMware virtuālajā vidē. (Photon OS var darboties arī ar citiem hipervizoriem, kā arī Google un Amazon mākoņiem.) Tā kā Photon OS var izteikt pieņēmumus par aparatūru (virtuālo), ekosistēma izskatās ļoti līdzīga standarta Linux, padarot mācīšanās līkni mazāk stāvu. Tīklošana un glabāšana ir saderīgi ar Systemd, un konteineru tīklošanai ir dokumentētas vairākas iespējas. Photon OS dokumentācija var būt labākā no pārskatītajiem produktiem.

VMware uzņemas vadošo lomu konteineru ražošanā tradicionālajai videi, un tam ir jēga, domājot par to. Cik bieži jums tiek lūgts aprakstīt atšķirību starp konteineru un VM? Izmantojot Photon OS, drīz nebūs atšķirību: konteineri būs tikai viegls VM, izvietots un pārvaldīts ar tiem pašiem rīkiem. Photon OS atbalsta praktiski visus lielākos konteineru ekosistēmas gabalus: Docker un Rocket konteinerus, Docker Swarm, Kubernetes, Mesos, Google Cloud Engine, Amazon EC2 un daudz ko citu.

No visiem manis pārskatītajiem izplatījumiem VMware Photon OS šķiet gan visredzamākais, gan šobrīd vispilnīgākais un izmantojamākais. Ja jūs esat VMware veikals, kas pēta konteinerus, es nedomātu apsvērt kaut ko citu. Ja jūs neesat VMware veikals, Photon OS joprojām ir vērts labi izskatīties.

Konteineru operētājsistēmu salīdzināšana

Alpine Linux visvairāk atbalsta katru Docker attēlu. Alpine Linux, kas ir lieliski piemērots iegultām lietojumprogrammām, nav jādomā par konteineru palaišanas veidu. Tā vietā savā ziņā Alpine Linux ir konteiners. Izstrādātāji, kas pārzina lietojumprogrammu veidošanu Alpine Linux, rakstīs labākas konteineru lietojumprogrammas.

CoreOS, viena no agrīnām konteineru operētājsistēmām, pieņem Google tehnoloģiju kaudzi. Tas piedāvā uzticamu, lai arī viedokļa pilnu konteineru infrastruktūras pārvaldīšanas veidu. Kaut arī CoreOS padara daudzus komponentus pieejamus kā atvērto pirmkoda, tik lielas kaudzes apgūšanas sarežģītība faktiski nozīmē, ka lietotājiem būs jāpērk patentēta Techtonic orķestrēšanas sistēma ražošanas izvietošanai. Ja nauda nav objekts, un jums ir jāizvieto Google izmēra lietojumprogrammas, CoreOS ir loģiska izvēle.

RancherOS ir tīri trauki. Ja jūs gatavojaties izveidot savu konteineru infrastruktūru vai vēlaties minimālu konteineru pārvaldības skursteni, RancherOS ir vieta, kur sākt. Izmantojot atvērtā koda orķestrēšanas un plānošanas rīkus, piemēram, Docker Swarm, Kubernetes un Mesos, visi ir brīvi pieejami, Rancher kaudze pievērsīsies atvērtā pirmkoda orientētiem pašdarbības uzņēmumiem.

Red Hat’s Project Atomic ir jumta projekts, kas pārbūvē veidu, kā uzņēmumi izvieto infrastruktūru. Šis vērienīgais projekts varētu mainīt uzņēmumu domāšanu par lietojumprogrammu ieviešanu, taču ceļš ir garš. Projekts Atomic ir vispiemērotākais jauniešiem, kuriem ir liels ieguldījums Red Hat tehnoloģijās.

VMware Photon OS pārnes konteineros šī pārdevēja virtuālo mašīnu pārvaldības tehnoloģiju un pieredzi. Photon OS ir izvietota kā virtuāla mašīna, un to pārvalda, izmantojot tradicionālos VM rīkus. VMware, iespējams, redzot tradicionālo VM rakstību uz sienas, no visas sirds ir pārņēmis konteineru tehnoloģiju un strauji virzās uz priekšu. Ja tagad esat VMware veikals, jums būs grūti atrast labāku konteineru platformu nekā Photon OS.

Izlasiet konteineru Linux pārskatus:

  • Pārskats: Alpine Linux ir paredzēts Docker
  • CoreOS pārskats: Linux konteineriem un Kubernetes
  • RancherOS: vienkāršāks Linux Docker mīļotājiem
  • Pārskats: Red Hat dara Docker grūti
  • Pārskats: VMware Photon OS spīd Docker konteineriem
$config[zx-auto] not found$config[zx-overlay] not found