Pregled: Najbolji Linux distribucijski sustavi za Docker i spremnike

Tijekom posljednjih šest mjeseci pregledao sam pet minimalnih Linux distribucija koje su optimizirane za pokretanje spremnika: Alpine Linux, CoreOS Container Linux, RancherOS, Red Hat Atomic Host i VMware Photon OS. Općenito poznati kao "operativni sustavi za spremnike", ove uklonjene, namijenjene Linux distribucije nisu jedini način za pokretanje spremnika u proizvodnji, ali pružaju osnovu koja ne troši resurse ni na što osim na podršku za spremnike.

Stanje industrije sa sustavima za postavljanje spremnika vrlo je slično ranim danima distribucije Linuxa. Imate jedan ključni element, u ovom slučaju Docker spremnik, koji je okružen brojnim konkurentskim komponentama ekosustava. Baš kao što su tradicionalni Linux distribucijski paketi spajali različite upravitelje paketa, radna okruženja, uslužne programe, usluge i aplikacije, većina distribucija spremnika miješa se i podudara s različitim komponentama kako bi stvorila ono što smatraju optimalnim rješenjem. Uzmimo za primjer distribuiranu konfiguraciju i otkrivanje usluga. Za to postoji nekoliko rješenja kao što su Etcd, Consul i ZooKeeper.

Svaka distribucija ima drugačiji pristup onome što treba uključiti u stog. U jednoj krajnosti postoje distribucije dizajnirane da podržavaju samo više razine niza, kao što su CoreOS Container Linux i Red Hat Project Atomic. Toliko je funkcionalnosti stavljeno u zaštićeni upravljački sloj da je malo nade za korištenje OS-a za bilo što drugo. Ostali distro-ji, poput RancherOS-a i VMware Photon OS-a, pružaju veću fleksibilnost, podržavajući više komponenti ekosustava i sustave orkestracije. To administratorima daje dobar način za eksperimentiranje i potencijalno izbjegavanje zaključavanja dobavljača.

Alpine Linux

Alpine Linux, temeljni operativni sustav za mnoge službene Dockerove slike, izvrstan je izbor za taj zadatak. Veličine od samo pet megabajta, Alpine Linux nalazi se na suprotnom kraju spektra od punomasnih Linux distribucija od prije nekoliko godina, koje su se natjecale sa Solarisom i koje su namjeravale raditi na masivnim hardverskim sustavima. Ova nova vrsta Linuxa dizajnirana je za rad na ugrađenom hardveru i troši minimalne resurse, što ga čini savršenim izborom za spremnike.

Nasljeđe Alpine Linuxa kao OS ugrađenog sustava bilo je očito tijekom mog pregleda. Mnoge mogućnosti konfiguracije zadane su za ugrađene sustave, a dokumentacija u mnogim područjima bila je oskudna ili je uopće nije bilo. Jasno je da je sustav dizajniran za hakere i prvenstveno ga koriste, Alpine Linux zahtijevat će od tvrtki da uklone nekoliko prepreka za izgradnju svojih aplikacija.

Proizvodna uvođenja Alpine Linuxa uživat će nekoliko prednosti, uključujući brzo pokretanje, minimalistički otisak i sigurno-prema zadanim postavkama koje nisu pronađene drugdje. Sve, od sistemskih binarnih datoteka do C knjižnica, dizajnirano je za male, brze i sigurne implementacije. Ovdje nema nadutosti.

Administracija Alpine Linuxa razlikuje se od tradicionalnih Linux sustava i trebat će joj neko vrijeme za učenje. Instalacija i upravljanje paketima jedinstveni su čak i među operativnim sustavima spremnika, iako dobro promišljeni. Ako vaša razvojna trgovina ima natprosječne programere koji su spremni uložiti, Alpine Linux pružit će solidnu, stabilnu i sigurnu osnovu za aplikacije još dugo vremena.

CoreOS Container Linux

Skup kontejnera CoreOS oslanja se na Etcd za distribuiranu pohranu i otkrivanje usluga, Flannel za umrežavanje i Kubernetes za orkestraciju spremnika, a uz Docker podržava i vlastiti okus formata spremnika, rkt (Rocket). Rocket je bio pokušaj konkurentskog formata kontejnera da otkloni nedostatke u Docker formatu oko 2015. godine, ali s tim rješenim nedostacima Rocket nije primijetio puno.

Povezani video: Što je Kubernetes?

U ovom videozapisu od 90 sekundi saznajte o Kubernetesu, sustavu otvorenog koda za automatizaciju kontejnerskih aplikacija, od jednog od izumitelja tehnologije, Joea Bede, osnivača i tehničkog direktora tvrtke Heptio.

CoreOS, poput Project Atomic, ne boji se radikalnog odstupanja od tradicionalnog Linuxa. Kao i Red Hatov kontejnerski OS, CoreOS Container Linux stvara uglavnom nepromjenjivi datotečni sustav, ali to čini sa sustavom za particioniranje diska nadahnutim Googleovim Chromium OS-om. Ovo čini očuvanje starog datotečnog sustava na particiji, što znači da su vraćanja uvijek sigurna i brza.

Iako je dokumentacija prilično dobra i sveobuhvatna, smatrao sam da je instalacija pomalo glomazna i uključuje postupak u dva koraka za izvođenje konfiguracijske datoteke. Jednom instaliran, CoreOS nudi kontinuirane nadogradnje "bez zastoja", značajku koju omogućuje jedinstveni raspored particija diska. CoreOS je ovdje obavio puno posla, a tvrtka nudi razne mogućnosti održavanja koje će odgovarati većini svake organizacije, uključujući mogućnost odjave.

CoreOS, donekle poput Project Atomic, odluka je sve ili ništa. Razdvajanje dijelova i korištenje osnovnog OS-a za izgradnju vlastite infrastrukture spremnika zapravo nije opcija zbog svih arhitektonskih odluka o dizajnu ugrađenih u platformu. Ako ste spremni prihvatiti te odluke i platiti CoreOS-ovu komercijalnu distribuciju Kubernetesa, Tectonic, bez sumnje biste mogli izvesti ozbiljno dizanje.

Rancher Labs RancherOS

RancherOS tvrtke Rancher Labs Linux je operativni sustav koji se u potpunosti sastoji od spremnika. Čak je i postupak pokretanja (PID 1) Dockerov spremnik. To znači da nema potrebe za sustavom upravljanja paketima. Nadogradnjama OS-a (i nadogradnjama) upravlja se s Dockerom, kao i bilo kojim drugim spremnikom.

Iako je ovaj pristup jednako radikalan kao i arhitektonske odluke donesene u nekim drugim distribucijama, kao što su Project Atomic i CoreOS, rezultat je iznenađujuća jednostavnost. Iako se učenje bilo koje potpuno nove administracije sustava u početku čini zastrašujuće, svejedno morate znati Dockera za upravljanje spremnicima, pa zašto ne biste koristili isti sustav za oboje?

Čini se da RancherOS brzo sazrijeva. U svom sam pregledu otkrio da dokumentacija pomalo nedostaje, ali bilo koji programer ili administrator upoznat s Docker spremnicima već će znati veći dio sustava. RancherOS ima mali otisak (20 MB) i učinkovito koristi resurse. Iako su linije između sustava za upravljanje spremnikom Rancher i OS-a Rancher donekle zamagljene, sustav za upravljanje spremnikom je besplatan i otvoren izvor, pa nema razloga da pokušavate pokrenuti vlastiti. Organizacije kojima je potreban pristup izvornom kodu ne bi trebale tražiti dalje.

Platforma Rancher podržava gotovo čitav ekosustav alata za upravljanje kontejnerima, uključujući Docker Swarm, Kubernetes i Mesos, i brzo napreduje. Iako se radikalno razlikuje od tradicionalnog UNIX-a, čini se da se RancherOS više pridržavao osnovne UNIX-ove filozofije od ostalih distribucija OS-a spremnika: jednostavni alati koji zajedno djeluju na elegantan način.

Projekt Red Hat Atomic

Projekt Atomic iz Red Hat-a čvrsto je u kampu Kubernetes-a za orkestraciju usluga. Obično je ova vrsta implementacije usmjerena prema velikim, vrlo dostupnim scenarijima. Loša strana je ta što u osnovi morate "raditi kako vam se kaže" i prema dogovoru oblikovati aplikaciju.

U okviru ćete pronaći Flannel za umrežavanje, Etcd za distribuiranu pohranu ključa i vrijednosti i OSTree za upravljanje hostom. OSTree je relativno nov način da se OS pouzdano i distribuira na veliko. Atomic kombinira OSTree s novim RPM upraviteljem paketa kako bi stvorio RPM-OSTree, koji isporučuje uglavnom nepromjenjivi datotečni sustav.

Otkrio sam da je projekt Atomic izazov. Vrlo je ambiciozan i brzo se kreće, s mnogo pokretnih dijelova. RHEL, CentOS, Fedora, SELinux, Systemd, prilagođeni skup naredbi "Docker" za kontrolu osnovnog domaćina ... svi su u kombinaciji, a dokumentacija je neorganizirana i zbunjujuća. Nadalje, u svom malom klasteru, u kojem nedostaje Chef, Salt ili Lutka, morao sam ručno konfigurirati svaki čvor.

Dno crta je da Project Atomic još treba vremena da se ispeče. Ako se vizija ostvari, tada može postati standard budućnosti - iako ne za podatkovne centre sa stotinama čvorova već tisućama ili desecima tisuća. U tom se pogledu čini da je vizija bliža Mesosovoj od tipičnog sustava raspoređivanja kontejnera. Ako vaša tvrtka živi i diše ekosustav Red Hat-a i planira li tamo ostati, onda je projekt Atomic vjerojatno vrijedan početka.

VMware Photon OS

VMwareov Photon OS minimalni je domaćin kontejnera za Linux dizajniran da ima mali otisak i podešen za VMware hipervizore. Kao takav, Photon OS radi samo u virtualnim okruženjima; postavljanje na fizički hardver nije moguće. Photon OS prilagođen je da olakša upravljanje spremnicima, ali ne tako radikalno kao Atomic ili CoreOS. Photon OS više je evolucijski korak.

Na temelju mog testiranja, Photo OS ispunjava svoja obećanja u VMware virtualnom okruženju. (Photon OS može se izvoditi i na drugim hipervizorima, kao i na oblacima Google i Amazon.) Budući da Photon OS može pretpostavljati hardver (virtualni), ekosustav vrlo sliči standardnom Linuxu, čineći krivulju učenja manje strmom. Umrežavanje i pohrana kompatibilni su sa Systemd-om, a postoji niz mogućnosti dokumentiranih za umrežavanje spremnika. Dokumentacija za Photon OS možda je najbolja među pregledanim proizvodima.

VMware preuzima vodeću ulogu u proizvodnji spremnika za tradicionalna okruženja, i to ima smisla kad razmislite. Koliko često su od vas tražili da opišete razliku između spremnika i VM-a? S Photon OS-om, uskoro neće biti nikakve razlike: spremnici će biti samo lagani VM, raspoređeni i upravljani istim alatima. Photon OS podržava gotovo svaki veći dio ekosustava kontejnera: Docker i Rocket kontejnere, Docker Swarm, Kubernetes, Mesos, Google Cloud Engine, Amazon EC2 i još mnogo toga.

Od svih distribucija koje sam pregledao, VMware Photon OS izgleda i najvidljiviji i trenutno najcjelovitiji i najkorisniji. Ako ste VMware trgovina koja istražuje kontejnerizaciju, ne bih razmišljao o bilo čemu drugom. Ako niste trgovina VMwareom, Photon OS još uvijek vrijedi dobro pogledati.

Usporedba operativnih sustava spremnika

Alpine Linux podržava većinu svake Dockerove slike. Savršen za ugrađene aplikacije, na Alpine Linux ne treba gledati kao na način pokretanja spremnika. Umjesto toga, na neki način, Alpine Linux je spremnik. Programeri upoznati s gradnjom aplikacija na Alpine Linuxu napisat će bolje aplikacije za spremnike.

CoreOS, jedan od ranih operativnih sustava za kontejnere, prihvatio je Googleov niz tehnologija. Nudi pouzdan, premda uvjerljiv način upravljanja infrastrukturom kontejnera. Iako CoreOS mnoge komponente nudi kao otvoreni izvor, složenost učenja tako velikog skupa učinkovito znači da će korisnici trebati kupiti vlastiti sustav Techtonic orkestracije za implementaciju u proizvodnji. Ako novac nije objekt, a morate instalirati aplikacije veličine Googlea, CoreOS je logičan izbor.

RancherOS je čisti spremnik. Ako ćete razvijati vlastitu infrastrukturu spremnika ili želite minimalni stog za upravljanje spremnicima, RancherOS je mjesto za početak. Uz otvoreno dostupne alate za orkestraciju i raspoređivanje poput Docker Swarma, Kubernetesa i Mesosa koji su svi besplatno dostupni, Rancher stog će se svidjeti tvrtkama koje se bave samostalnim radom orijentiranim na otvoreni izvor.

Projekt Atomic iz Red Hat-a krovni je projekt koji preuređuje način na koji tvrtke postavljaju infrastrukturu. Ovaj ambiciozni projekt mogao bi promijeniti način na koji tvrtke razmišljaju o uvođenju aplikacija, ali put je dug. Project Atomic najprikladniji je za one koji rano usvajaju računala s velikim postojećim ulaganjem u Red Hat tehnologije.

VMwareov Photon OS donosi kontejnere tehnologiju i iskustvo upravljanja virtualnim strojevima tog dobavljača. Photon OS postavljen je kao virtualni stroj i njime se upravlja pomoću tradicionalnih VM alata. VMware je, možda vidjevši napis na zidu za tradicionalne VM-ove, svim srcem prihvatio tehnologiju kontejnera i brzo napreduje u stanju tehnike. Ako ste sada VMware trgovina, teško ćete pronaći bolju platformu za spremnike od Photon OS-a.

Pročitajte recenzije spremnika za Linux: 

  • Pregled: Alpine Linux stvoren je za Docker
  • CoreOS pregled: Linux za spremnike i Kubernetes
  • RancherOS: Jednostavniji Linux za ljubitelje Dockera
  • Recenzija: Red Hat radi Dockera na teži način
  • Pregled: VMwareov Photon OS sjaji za Docker spremnike