Programování

Recenze: Nejlepší linuxové distribuce pro Docker a kontejnery

Za posledních šest měsíců jsem zkontroloval pět minimálních distribucí Linuxu, které jsou optimalizovány pro běh kontejnerů: Alpine Linux, CoreOS Container Linux, RancherOS, Red Hat Atomic Host a VMware Photon OS. Obecně známé jako „operační systémy kontejnerů“, tyto odříznuté, účelově sestavené linuxové distribuce nejsou jediným způsobem, jak provozovat kontejnery ve výrobě, ale poskytují základnu, která kromě podpory kontejnerů neztrácí prostředky na nic.

Stav průmyslu se systémy nasazení kontejnerů je velmi podobný počátkům distribucí Linuxu. Máte jeden klíčový prvek, v tomto případě kontejner Docker, který je obklopen řadou konkurenčních komponent ekosystému. Stejně jako tradiční distribuce Linuxu dodávají různé správce balíčků, prostředí desktopu, systémové nástroje, služby a aplikace, většina distribucí kontejnerů kombinuje různé komponenty a vytváří to, co považují za optimální řešení. Vezměte si například distribuovanou konfiguraci a zjišťování služeb. Existuje několik řešení, například Etcd, Consul a ZooKeeper.

Každá distribuce má jiný přístup k tomu, co má zahrnout do zásobníku. V jednom extrému existují distribuce navržené tak, aby podporovaly pouze vyšší úrovně zásobníku, jako je CoreOS Container Linux a Red Hat Project Atomic. Tolik funkcí bylo vloženo do proprietární vrstvy pro správu, takže existuje malá naděje na použití OS pro cokoli jiného. Další distribuce, například RancherOS a VMware Photon OS, poskytují větší flexibilitu a podporují více ekosystémových komponent a orchestračních systémů. Díky tomu mohou správci experimentovat a potenciálně se vyhnout zablokování dodavatele.

Alpine Linux

Alpine Linux, základní operační systém pro mnoho oficiálních obrázků Dockeru, je skvělou volbou pro tento úkol. Pouhých pět megabajtů je Alpine Linux na opačném konci spektra než plnohodnotné linuxové distribuce před několika lety, které konkurovaly systému Solaris a měly fungovat na masivních hardwarových systémech. Toto nové plemeno Linuxu je navrženo tak, aby fungovalo na integrovaném hardwaru a spotřebovalo minimální zdroje, což z něj dělá ideální volbu pro kontejnery.

Dědictví Alpine Linuxu jako operačního systému s vestavěnými systémy bylo během mé kontroly evidentní. Mnoho z možností konfigurace je výchozí pro vestavěné systémy a dokumentace v mnoha oblastech byla řídká nebo vůbec neexistovala. Je zřejmé, že jde o systém navržený a primárně používaný hackery, Alpine Linux bude vyžadovat, aby společnosti odstranily několik překážek při vytváření svých aplikací.

Produkční nasazení Alpine Linux bude mít několik výhod, včetně rychlého spuštění, minimalistické stopy a bezpečného výchozího nastavení, které jinde nenajdete. Všechno od systémových binárních souborů po knihovny C je navrženo pro malé, rychlé a bezpečné nasazení. Tady není nadýmání.

Správa systému Alpine Linux se liší od tradičních systémů Linux a jeho učení bude nějakou dobu trvat. Instalace a správa balíčků jsou jedinečné i mezi operačními systémy kontejnerů, i když jsou dobře promyšlené. Pokud má váš vývojářský obchod nadprůměrné vývojáře, kteří jsou ochotni investovat, poskytne Alpine Linux pevnou, stabilní a bezpečnou základnu pro aplikace na dlouhou dobu.

Kontejner CoreOS Linux

Zásobník kontejnerů CoreOS čerpá z Etcd pro distribuované úložiště a zjišťování služeb, Flannel pro vytváření sítí a Kubernetes pro orchestraci kontejnerů a kromě Dockeru podporuje jeho vlastní chuť formátu kontejneru, rkt (Rocket). Rocket byl pokusem o konkurenční formát kontejneru, který by řešil nedostatky ve formátu Docker kolem roku 2015, ale s těmito nedostatky, které Rocket řešil, se jeho využití příliš neobjevilo.

Související video: Co je Kubernetes?

V tomto 90sekundovém videu se dozvíte o Kubernetes, otevřeném systému pro automatizaci kontejnerových aplikací, od jednoho z vynálezců této technologie, Joe Beda, zakladatel a CTO ve společnosti Heptio.

CoreOS se stejně jako Project Atomic nebojí radikálního odklonu od tradičního Linuxu. Stejně jako kontejnerový operační systém Red Hat i CoreOS Container Linux vytváří převážně neměnný souborový systém, ale dělá to pomocí systému dělení disků inspirovaného operačním systémem Google Chromium OS. Tímto způsobem se zachová starý souborový systém v oddílu, což znamená, že vrácení zpět jsou vždy bezpečná a rychlá.

I když je dokumentace poměrně dobrá a komplexní, shledal jsem instalaci poněkud těžkopádnou, zahrnující dvoustupňový proces k odvození konfiguračního souboru. Po instalaci však CoreOS nabízí nepřetržité upgrady „bez prostojů“, což je funkce, kterou umožňuje jeho jedinečné uspořádání diskových oddílů. CoreOS zde odvedl hodně práce a společnost nabízí různé možnosti údržby, které budou vyhovovat většině organizací, včetně možnosti odhlásit se.

CoreOS, podobně jako Project Atomic, je rozhodnutí typu „všechno nebo nic“. Rozdělení jednotlivých částí a použití základního operačního systému k vybudování vlastní kontejnerové infrastruktury není ve skutečnosti volbou kvůli všem rozhodnutím architektonického návrhu zapečeným do platformy. Pokud jste ochotni přijmout tato rozhodnutí a zaplatit za komerční distribuci Kubernetes společnosti CoreOS, Tectonic, bezpochyby byste mohli provést nějaké vážné těžké zvedání.

Rancher Labs RancherOS

RancherOS společnosti Rancher Labs je operační systém Linux složený výhradně z kontejnerů. Dokonce i proces init (PID 1) je kontejner Docker. To znamená, že není potřeba žádný systém pro správu balíků. Upgrady OS (a downgrady) jsou spravovány pomocí Dockeru, stejně jako jakýkoli jiný kontejner.

Ačkoli je tento přístup stejně radikální jako architektonická rozhodnutí učiněná v některých jiných distribucích, jako jsou Project Atomic a CoreOS, výsledkem je překvapivá jednoduchost. Ačkoli se učení jakékoli zcela nové správy systému na první pohled jeví jako skličující, musíte stejně vědět, aby Docker mohl spravovat kontejnery, tak proč nepoužívat stejný systém pro oba?

Zdá se, že RancherOS rychle dospívá. V mé recenzi jsem zjistil, že dokumentace trochu chybí, ale každý vývojář nebo správce obeznámený s kontejnery Docker již zná většinu systému. RancherOS má malou stopu (20 MB) a efektivně využívá zdroje. Ačkoli jsou čáry mezi Rancherem, systémem pro správu kontejnerů a Rancherem OS poněkud rozmazané, systém pro správu kontejnerů je bezplatný a otevřený, takže není důvod pokoušet se zavést vlastní. Organizace, které potřebují přístup ke zdrojovému kódu, by už neměly hledat.

Platforma Rancher podporuje téměř celý ekosystém nástrojů pro správu kontejnerů, včetně Docker Swarm, Kubernetes a Mesos, a rychle postupuje. Přestože se RancherOS radikálně liší od tradičního systému UNIX, zdá se, že se více drží základní filozofie systému UNIX než ostatní distribuce kontejnerových operačních systémů: Jednoduché nástroje spolupracující elegantním způsobem.

Red Hat Project Atomic

Projekt Red Hat Atomic je pevně v táboře služebního orchestru Kubernetes. Obvykle je tento typ nasazení zaměřen na rozsáhlé, vysoce dostupné scénáře. Nevýhodou je, že v zásadě musíte „dělat, co vám bylo řečeno“ a vytvořit aplikaci konvencí.

V poli najdete Flannel pro práci v síti, Etcd pro distribuované úložiště klíč-hodnota a OSTree pro správu hostitele. OSTree je relativně nový způsob, jak spolehlivě a distribuovaně nasadit OS v měřítku. Atomic kombinuje OSTree s novým správcem balíků RPM a vytváří RPM-OSTree, který poskytuje většinou neměnný souborový systém.

Projekt Atomic mi připadal jako výzva. Je to velmi ambiciózní a rychlé, s mnoha pohyblivými částmi. RHEL, CentOS, Fedora, SELinux, Systemd, vlastní sada příkazů „Docker“ pro ovládání základního hostitele ... všichni jsou v mixu a dokumentace je neuspořádaná a matoucí. Kromě toho jsem ve svém malém klastru, kde chyběl šéfkuchař, sůl nebo loutka, musel každý uzel ručně nakonfigurovat.

Závěrem je, že Project Atomic stále potřebuje nějaký čas na pečení. Pokud bude vize realizována, může se stát standardem budoucnosti - i když ne pro datová centra se stovkami uzlů, ale s tisíci nebo desítkami tisíc. V tomto ohledu se vize zdá být blíže vizi Mesosu než typický systém nasazení kontejnerů. Pokud vaše společnost žije a dýchá ekosystémem Red Hat a plánuje tam zůstat, pak Project Atomic pravděpodobně stojí za to začít.

VMware Photon OS

VMware Photon OS je minimální hostitel Linux kontejnerů navržený tak, aby měl malou stopu a byl vyladěn pro hypervisory VMware. Photon OS tedy běží pouze ve virtuálních prostředích; nasazení na fyzický hardware není možné. Photon OS je přizpůsoben tak, aby usnadňoval správu kontejnerů, ale ne tak radikálně jako Atomic nebo CoreOS. Photon OS je spíše evoluční krok.

Na základě mého testování Photo OS plní své sliby ve virtuálním prostředí VMware. (Photon OS může běžet také na jiných hypervizorech, stejně jako na cloudech Google a Amazon.) Protože Photon OS dokáže vytvářet předpoklady o hardwaru (virtuální), vypadá ekosystém velmi podobně jako standardní Linux, takže křivka učení je méně strmá. Sítě a úložiště jsou kompatibilní s Systemd a pro síťování kontejnerů je zdokumentována celá řada možností. Dokumentace pro Photon OS může být nejlepší z hodnocených produktů.

Společnost VMware zaujímá vedoucí pozici v produkci kontejnerů pro tradiční prostředí, a to dává smysl, když o tom přemýšlíte. Jak často jste byli požádáni, abyste popsali rozdíl mezi kontejnerem a virtuálním počítačem? S Photon OS to brzy nebude mít žádný rozdíl: Kontejnery budou jen odlehčený virtuální počítač, nasazený a spravovaný stejnými nástroji. Photon OS podporuje prakticky všechny hlavní části kontejnerového ekosystému: kontejnery Docker a Rocket, Docker Swarm, Kubernetes, Mesos, Google Cloud Engine, Amazon EC2 a další.

Ze všech distribucí, které jsem zkontroloval, se zdá, že VMware Photon OS je nejvíc vizionářský a v současné době nejkompletnější a použitelný. Pokud jste obchodem VMware zkoumajícím kontejnerizaci, nenapadlo by mě uvažovat o něčem jiném. Pokud nejste obchodem VMware, Photon OS stále stojí za dobrý vzhled.

Porovnání operačních systémů kontejnerů

Alpine Linux je základem každého obrazu Dockeru. Alpine Linux, ideální pro vložené aplikace, by neměl být považován za způsob spouštění kontejnerů. Místo toho svým způsobem Alpine Linux je kontejner. Vývojáři obeznámení s vytvářením aplikací na Alpine Linux budou psát lepší aplikace pro kontejnery.

CoreOS, jeden z prvních operačních systémů pro kontejnery, využívá technologický zásobník Google. Nabízí spolehlivý, i když zdvořilý způsob správy kontejnerové infrastruktury. Zatímco CoreOS zpřístupňuje mnoho komponent jako otevřený zdroj, složitost učení tak velkého zásobníku efektivně znamená, že uživatelé budou muset pro proprietární nasazení zakoupit proprietární systém orchestrace Techtonic. Pokud peníze nejsou žádným objektem a potřebujete nasadit aplikace velikosti Google, je CoreOS logickou volbou.

RancherOS jsou čisté kontejnery. Pokud se chystáte zavést vlastní infrastrukturu kontejnerů nebo chcete minimální zásobník pro správu kontejnerů, je RancherOS místo, kde začít. Díky volně dostupným nástrojům pro orchestraci a plánování, jako jsou Docker Swarm, Kubernetes a Mesos, bude Rancher stack apelovat na open-source společnosti zaměřené na kutily.

Red Hat’s Project Atomic je zastřešujícím projektem, který přetváří způsob, jakým společnosti nasazují infrastrukturu. Tento ambiciózní projekt by mohl změnit způsob, jakým společnosti uvažují o nasazení aplikací, ale cesta je dlouhá. Project Atomic je nejvhodnější pro začínající uživatele s velkou existující investicí do technologií Red Hat.

VMware Photon OS přináší technologii a zkušenosti s řízením virtuálních strojů tohoto dodavatele do kontejnerů. Photon OS je nasazen jako virtuální stroj a je spravován tradičními nástroji VM. Společnost VMware, která možná vidí nápis na zdi pro tradiční virtuální počítače, z celého srdce přijala technologii kontejnerů a rychle postupuje v současném stavu techniky. Pokud jste nyní obchodem VMware, bude těžké najít lepší platformu kontejnerů než Photon OS.

Přečtěte si recenze systému Linux:

  • Recenze: Alpine Linux je určen pro Docker
  • Recenze CoreOS: Linux pro kontejnery a Kubernetes
  • RancherOS: Jednodušší Linux pro milovníky Dockeru
  • Recenze: Red Hat dělá Dockera tvrdě
  • Recenze: VMware Photon OS svítí pro kontejnery Docker
$config[zx-auto] not found$config[zx-overlay] not found