Programovanie

Recenzia: Najlepšie linuxové distribúcie pre Docker a kontajnery

Za posledných šesť mesiacov som skontroloval päť minimálnych distribúcií Linuxu, ktoré sú optimalizované na prevádzkovanie kontajnerov: Alpine Linux, CoreOS Container Linux, RancherOS, Red Hat Atomic Host a VMware Photon OS. Všeobecne známe ako „operačné systémy pre kontajnery“, tieto odrezané, účelovo postavené distribúcie Linuxu nie sú jediným spôsobom, ako prevádzkovať kontajnery vo výrobe, ale okrem podpory kontajnerov poskytujú základňu, ktorá neplytvá zdrojmi.

Stav priemyslu so systémami nasadenia kontajnerov je veľmi podobný ako v začiatkoch distribúcií Linuxu. Máte jeden kľúčový prvok, v tomto prípade kontajner Docker, ktorý je obklopený množstvom konkurenčných komponentov ekosystému. Rovnako ako tradičné distribúcie systému Linux dodávané s rôznymi správcami balíkov, desktopovými prostrediami, systémovými nástrojmi, službami a aplikáciami, aj väčšina distribúcií kontajnerov kombinuje rôzne komponenty a vytvára tak to, čo považujú za optimálne riešenie. Vezmime si napríklad distribuovanú konfiguráciu a zisťovanie služieb. Existuje niekoľko riešení, napríklad Etcd, Consul a ZooKeeper.

Každá distribúcia má odlišný prístup k tomu, čo má zahrnúť do zásobníka. V jednom extréme existujú distribúcie určené na podporu iba vyšších úrovní zásobníka, napríklad CoreOS Container Linux a Red Hat Project Atomic. Toľko funkcií bolo vložených do vlastnej vrstvy správy, takže existuje malá nádej, že sa operačný systém použije na čokoľvek iné. Ostatné distribúcie, napríklad RancherOS a VMware Photon OS, poskytujú väčšiu flexibilitu a podporujú viaceré komponenty ekosystému a orchestračné systémy. Poskytujú správcom dobrý spôsob experimentovania a potenciálne sa vyhýbajú zablokovaniu dodávateľa.

Alpine Linux

Alpine Linux, základný operačný systém pre mnoho oficiálnych obrázkov Dockeru, je skvelou voľbou pre túto úlohu. Alpine Linux s veľkosťou iba päť megabajtov je na opačnom konci spektra ako plnohodnotné linuxové distribúcie spred niekoľkých rokov, ktoré konkurovali systému Solaris a mali v úmysle pracovať na masívnych hardvérových systémoch. Toto nové plemeno systému Linux je navrhnuté tak, aby fungovalo na zabudovanom hardvéri a spotrebovalo minimálne prostriedky, čo z neho robí ideálnu voľbu pre kontajnery.

Dedičstvo systému Alpine Linux ako operačného systému zabudovaného systému bolo zrejmé počas mojej kontroly. Mnoho z možností konfigurácie je predvolene nastavených na zabudované systémy a dokumentácia v mnohých oblastiach bola riedka alebo vôbec neexistovala. Je zrejmé, že ide o systém navrhnutý a primárne používaný hackermi. Alpine Linux bude od spoločností vyžadovať, aby pri zostavovaní svojich aplikácií odstránili niekoľko prekážok.

Produkčné nasadenia systému Alpine Linux budú mať niekoľko výhod vrátane rýchleho spustenia, minimalistickej stopy a bezpečného východiskového stavu, ktorý sa inde nenachádza. Všetko od systémových binárnych súborov po knižnice C je určené pre malé, rýchle a bezpečné nasadenie. Nie je tu nadúvanie.

Správa systému Alpine Linux sa líši od tradičných systémov Linux a jej učenie bude nejaký čas trvať. Inštalácia a správa balíkov sú jedinečné aj medzi operačnými systémami kontajnerov, aj keď sú dobre premyslené. Ak má váš vývojový obchod nadpriemerných vývojárov, ktorí sú ochotní investovať, Alpine Linux poskytne pevnú, stabilnú a bezpečnú základňu pre aplikácie na dlhú dobu.

Kontajner CoreOS Linux

Zásobník kontajnerov CoreOS čerpá z Etcd pre distribuované úložisko a zisťovanie služieb, Flannel pre vytváranie sietí a Kubernetes pre orchestráciu kontajnerov a okrem Dockeru podporuje aj svoju vlastnú príchuť formátu kontajnera, rkt (Rocket). Rocket bol pokusom o konkurenčný formát kontajnera na riešenie nedostatkov vo formáte Docker okolo roku 2015, ale pri riešení týchto nedostatkov spoločnosť Rocket nezaznamenala veľa absorpcie.

Súvisiace video: Čo je to Kubernetes?

V tomto 90-sekundovom videu sa dozviete o Kubernetes, systéme open-source na automatizáciu kontajnerových aplikácií, od jedného z vynálezcov tejto technológie, Joe Beda, zakladateľ a CTO spoločnosti Heptio.

CoreOS sa rovnako ako Project Atomic nebojí radikálneho odklonu od tradičného Linuxu. Rovnako ako kontajnerový operačný systém Red Hat, CoreOS Container Linux vytvára väčšinou nemenný súborový systém, ale robí to pomocou systému na delenie diskov inšpirovaného operačným systémom Google Chromium OS. Týmto sa zachová starý súborový systém v oblasti, čo znamená, že vrátenia súborov sú vždy bezpečné a rýchle.

Aj keď je dokumentácia pomerne dobrá a komplexná, zdala sa mi inštalácia trochu ťažkopádna a zahŕňal dvojstupňový proces na odvodenie konfiguračného súboru. Po nainštalovaní však CoreOS ponúka nepretržité upgrady „bez výpadkov“, čo umožňuje jedinečné usporiadanie diskových oddielov. CoreOS tu vykonal veľa práce a spoločnosť ponúka rôzne možnosti údržby, ktoré vyhovejú väčšine organizácií, vrátane možnosti odhlásiť sa.

CoreOS, podobne ako Project Atomic, je rozhodnutím typu všetko alebo nič. Rozdelenie jednotlivých častí a použitie základného operačného systému na vybudovanie vlastnej kontajnerovej infraštruktúry nie je skutočne možnosťou kvôli všetkým rozhodnutiam o architektonickom dizajne, ktoré sú súčasťou platformy. Ak ste ochotní prijať tieto rozhodnutia a zaplatiť za komerčnú distribúciu Kubernetes spoločnosti CoreOS, spoločnosť Tectonic, bezpochyby by ste mohli urobiť niečo poriadne ťažké.

Rancher Labs RancherOS

RancherOS spoločnosti Rancher Labs je operačný systém Linux zložený výlučne z kontajnerov. Aj proces init (PID 1) je kontajner Docker. To znamená, že nie je potrebný systém správy balíkov. Aktualizácie OS (a staršie verzie) sa spravujú pomocou Dockeru, rovnako ako ktorýkoľvek iný kontajner.

Aj keď je tento prístup rovnako radikálny ako architektonické rozhodnutia prijaté v niektorých ďalších distribúciách, ako sú Project Atomic a CoreOS, výsledkom je prekvapivá jednoduchosť. Aj keď sa učenie akejkoľvek úplne novej správy systému javí ako spočiatku náročné, musíte vedieť, že Docker dokáže aj tak spravovať kontajnery, tak prečo nepoužiť rovnaký systém pre oba?

Zdá sa, že RancherOS rýchlo dozrieva. V mojej recenzii mi dokumentácia trochu chýbala, ale každý vývojár alebo správca oboznámený s kontajnermi Docker už pozná väčšinu systému. RancherOS má malú plochu (20 MB) a efektívne využíva zdroje. Aj keď sú hranice medzi systémom správy kontajnerov Rancher a OS Rancher trochu rozmazané, systém správy kontajnerov je bezplatný a otvorený, takže nie je dôvod pokúšať sa zavádzať vlastné. Organizácie, ktoré potrebujú prístup k zdrojovému kódu, by už nemali hľadať.

Platforma Rancher podporuje takmer celý ekosystém nástrojov na správu kontajnerov vrátane Docker Swarm, Kubernetes a Mesos a rýchlo napreduje. Aj keď sa radikálne líši od tradičného UNIXu, zdá sa, že RancherOS dodržiava základnú filozofiu UNIX viac ako iné distribúcie kontajnerových OS: Jednoduché nástroje pôsobiace elegantným spôsobom.

Red Hat Project Atomic

Projekt Red Hat’s Atomic je pevne zakomponovaný do servisného tábora Kubernetes. Typicky je tento typ nasadenia zameraný na rozsiahle, vysoko dostupné scenáre. Nevýhodou je, že v zásade musíte „urobiť, čo vám povie“, a vytvoriť aplikáciu podľa konvencie.

V poli nájdete Flannel pre prácu v sieti, Etcd pre distribuované úložisko kľúč - hodnota a OSTree pre správu hostiteľa. OSTree je relatívne nový spôsob spoľahlivého a distribuovaného nasadenia operačného systému vo veľkom rozsahu. Atomic kombinuje OSTree s novým správcom balíkov RPM a vytvára RPM-OSTree, ktorý poskytuje väčšinou nemenný súborový systém.

Projekt Atomic som považoval za výzvu. Je veľmi ambiciózny a rýchly, s mnohými pohyblivými časťami. RHEL, CentOS, Fedora, SELinux, Systemd, vlastná sada príkazov „Docker“ na riadenie hostiteľa, ktorý ich vlastní ... všetky sú v mixe a dokumentácia je neusporiadaná a neprehľadná. Ďalej som vo svojom malom zoskupení, kde chýbal kuchár, soľ alebo bábka, musel každý uzol nakonfigurovať manuálne.

Záverom je, že projekt Atomic stále potrebuje nejaký čas na pečenie. Ak sa vízia zrealizuje, môže sa stať štandardom budúcnosti - aj keď nie pre dátové centrá so stovkami uzlov, ale s tisíckami alebo desiatkami tisíc. V tomto ohľade sa vízia javí bližšia vízii Mesosu ako typický systém nasadenia kontajnerov. Ak vaša spoločnosť žije a dýcha ekosystém Red Hat a plánuje tam zostať, potom je pre vás pravdepodobne vhodné začať s projektom Atomic.

VMware Photon OS

VMware Photon OS je minimálny hostiteľ Linuxových kontajnerov navrhnutý tak, aby mal malú stopu a bol vyladený pre hypervízorov VMware. Photon OS ako taký funguje iba vo virtuálnych prostrediach; nasadenie na fyzický hardvér nie je možné. Photon OS je prispôsobený tak, aby uľahčil správu kontajnerov, ale nie tak radikálne ako Atomic alebo CoreOS. Photon OS je skôr evolučný krok.

Na základe môjho testovania Photo OS plní svoje sľuby vo virtuálnom prostredí VMware. (Photon OS môže bežať aj na iných hypervízoroch, ako aj na cloudoch Google a Amazon.) Pretože Photon OS dokáže predpokladať hardvér (virtuálny), ekosystém vyzerá veľmi podobne ako štandardný Linux, vďaka čomu je krivka učenia menej strmá. Sieť a úložisko sú kompatibilné s Systemd a pre sieťové pripojenie kontajnerov je zdokumentovaná celá škála možností. Dokumentácia k systému Photon OS môže byť najlepšia spomedzi recenzovaných produktov.

Spoločnosť VMware sa stáva vedúcou pri výrobe kontajnerov pre tradičné prostredia. To dáva zmysel, keď o tom premýšľate. Ako často ste boli požiadaní, aby ste opísali rozdiel medzi kontajnerom a VM? S Photon OS to čoskoro nebude mať žiadny rozdiel: Kontajnery budú iba ľahký VM nasadený a spravovaný rovnakými nástrojmi. Photon OS podporuje prakticky každý hlavný kúsok kontajnerového ekosystému: kontajnery Docker a Rocket, Docker Swarm, Kubernetes, Mesos, Google Cloud Engine, Amazon EC2 a ďalšie.

Zo všetkých distribúcií, ktoré som skontroloval, sa zdá, že VMware Photon OS je najvízorskejší a v súčasnosti najkompletnejší a najpoužiteľnejší. Ak ste obchodom VMware skúmajúcim kontajnerizáciu, nenapadlo by mi uvažovať o ničom inom. Pokiaľ nie ste obchodom VMware, Photon OS sa stále oplatí pozrieť.

Porovnávanie operačných systémov pre kontajnery

Alpine Linux je základom každého obrazu Dockeru. Alpine Linux, ktorý je ideálny pre vložené aplikácie, by sa nemal považovať za spôsob prevádzkovania kontajnerov. Namiesto toho svojím spôsobom Alpine Linux je kontajnera. Vývojári oboznámení s tvorbou aplikácií v systéme Alpine Linux budú písať lepšie aplikácie pre kontajnery.

CoreOS, jeden z prvých operačných systémov pre kontajnery, využíva technológiu Google. Ponúka spoľahlivý, hoci zdvorilý spôsob riadenia kontajnerovej infraštruktúry. Zatiaľ čo CoreOS sprístupňuje mnoho komponentov ako otvorený zdroj, zložitosť učenia sa tak veľkého stohu efektívne znamená, že používatelia si budú musieť kúpiť proprietárny systém orchestrácie Techtonic pre produkčné nasadenia. Ak peniaze nie sú žiadnym predmetom a potrebujete nasadiť aplikácie veľkosti Google, CoreOS je logickou voľbou.

RancherOS sú čisté kontajnery. Ak sa chystáte zaviesť svoju vlastnú kontajnerovú infraštruktúru alebo chcete minimálny zásobník na správu kontajnerov, RancherOS je tým pravým miestom. Vďaka nástrojom na orchestráciu a plánovanie otvoreného zdroja, ako sú Docker Swarm, Kubernetes a Mesos, ktoré sú voľne dostupné, zásobník Rancher osloví spoločnosti typu „do-it-yourself“ zamerané na open source.

Red Hat’s Project Atomic je zastrešujúcim projektom, ktorý prebudováva spôsob, akým spoločnosti využívajú infraštruktúru. Tento ambiciózny projekt by mohol zmeniť spôsob, akým spoločnosti premýšľajú o nasadení aplikácií, ale cesta je dlhá. Project Atomic je najvhodnejší pre začínajúcich používateľov s veľkými existujúcimi investíciami do technológií Red Hat.

VMware Photon OS prináša do kontajnerov technológiu a skúsenosti s riadením virtuálnych strojov tohto dodávateľa. Photon OS je nasadený ako virtuálny stroj a je spravovaný pomocou tradičných nástrojov VM. Spoločnosť VMware, ktorá možno vidí nápis na stene pre tradičné počítače VM, z celého srdca prijala technológiu kontajnerov a rýchlo napreduje v stave techniky. Ak ste teraz obchodom VMware, budete ťažko hľadať lepšiu platformu kontajnerov ako Photon OS.

Prečítajte si recenzie na Linux:

  • Recenzia: Alpine Linux je určený pre Docker
  • Recenzia CoreOS: Linux pre kontajnery a Kubernetes
  • RancherOS: Jednoduchší Linux pre milovníkov Dockeru
  • Recenzia: Red Hat robí Dockera tvrdo
  • Recenzia: VMware’s Photon OS svieti pre kontajnery Docker
$config[zx-auto] not found$config[zx-overlay] not found