přejít na obsah přejít na navigaci

Linux E X P R E S, CoreOS – proč byste o něm měli uvažovat

CoreOS – proč byste o něm měli uvažovat

CoreOS

Vývoj v oblasti IT postupuje doslova obrovským tempem. Tento vývoj je velmi znát v oblasti serverů a softwaru, kde je pro provozovatele služeb nutné držet krok s poptávkou uživatelů. Virtualizace umožnila spustit více operačních systémů na jednom stroji souběžně, nyní se ale dostáváme ještě o krok dál. 


Nejprve (doslova) k jádru věci – CoreOS je linuxová distribuce, která vznikla forknutím Chromium OS, a jejíž první veřejně vydaná verze (v94.0.0) vyšla na konci roku 2013.

Poznámka: pro zajímavost si všimněte, jak vysoké je číslo verze – v době psaní článku je poslední (nestabilní) verze 738.1.0. Je to způsobeno progresivním vývojem, kdy dochází často k razantním změnám, a použitím sémantického verzování.

Přestože je CoreOS relativně mladý operační systém, není problém s nasazením prakticky kdekoliv – na vlastním hardwaru, zavést jej přes síť (PXE) nebo rovnou spustit v cloudu (třeba u Amazonu). Za krátkou dobu se vývojářům podařilo implementovat nespočet zajímavých funkcí a dostat systém do fáze, kdy je možné jej využívat i k nasazení kritických aplikací.

Tohle ovšem není ani zdaleka to, co uživatele ke CoreOS táhne. Jsou to tři trochu odlišné vlastnosti…

Práce s kontejnery

Můžete namítat, že kontejnery jsou s námi už pěknou řádku let a nejde o nic nového, vždyť OpenVZ přišlo už v roce 2005, jails v BSD jsou ještě déle. CoreOS ale přináší nástroj rkt (vyslovuje se jako „rock-it“), který je velmi podobný Dockeru (který CoreOS dříve využíval, ale kvůli směru, jakým se vývoj začal ubírat, jej vývojáři CoreOS opustili).

Díky tomuto nástroji můžete třeba na svém laptopu sestavit obraz s aplikací a doručit ho na neomezený počet serverů, kde ho později jednoduše spustíte. Aktualizace je stejně jednoduchá – jen nahrajete upravený obraz a spustíte. Důležitý je i fakt, že při standardní virtualizaci běží na stroji více operačních systémů, což u kontejneru není třeba. Všechny instance sdílí stejné jádro, ale jsou přesto oddělené.

Výhody jsou zřejmé – šetření prostředků, snazší nasazení a spouštění aplikací.

Sdílená konfigurace

Dalším mocným nástrojem CoreOS je etcd, z jehož názvu je účel patrný. Stejně, jako do adresáře /etc ukládáme konfiguraci softwaru, do úložiště etcd ukládají naše aplikace svoji konfiguraci, která je sdílená napříč všemi instancemi. Pro ukládání je pak použit model klíč – hodnota.

Pokud byste museli změnit konfiguraci v kontejneru, aktualizovat obraz na všech serverech a znovu spouštět, zabralo by to dost času. Opět je snazší jen zapsat novou hodnotu do klíče a nechat instanci, aby si hodnotu získala sama – bez restartu, bez výpadku. Ušetříte tím nejen čas, ale i práci.



Sdílet lze i systém init

fleet je – jednoduše řečeno – distribuovaný systém init. Představte si, že musíte ručně spouštět služby na jednotlivých instalacích operačního systému. Díky systému fleet je v CoreOS možné spravovat služby z jednoho místa.

Samotná utilita funguje prostě tak, že na uzlech v clusteru umožní centrálně řídit systemd. Lze říct, jakou a kolikrát chcete spustit službu, fleet se postará o vše ostatní. Stavba a následné řízení clusteru je tak docela jednoduché - pokud zvládnete pracovat se systemd na svém počítači, tohle pro vás bude hračka.

Celé je to navíc zatraceně rychlé

CoreOS je sice forkem Chromium OS, ale tím vlastně dědí přední vlastnost Gentoo – rychlost. V CoreOS je jen to nejdůležitější a nic víc, což je něco, s čímž se v praxi setkáváme běžně jen u cloudových verzí distribucí, ve kterých je ale stále spoustu věcí navíc.

CoreOS je prostě jen holý základ nutný k tomu, abyste na něm spustili kontejnery, čemuž rychlost odpovídá. Sice žijeme v době, kdy běžný desktop nabootuje za pár vteřin, ale při potřebě restartovat stroj, na kterém může běžet část vaší oblíbené sociální sítě, zpravodajský server nebo cokoliv jiného, se každý zlomek sekundy, který je ušetřen, počítá.

Abych to shrnul, CoreOS se hodí především pro serverovým administrátorům, kteří chtějí ušetřit své firmě peníze a sobě práci – jestli do této kategorie patříte, určitě o CoreOS alespoň popřemýšlejte. Pokud se o tuto oblast jen zajímáte, určitě vám můžu doporučit zkusit si postavit vlastní cluster – je to zábava na celý víkend, když si s tím chcete hrát a nemůžete se odtrhnout (vlastní zkušenost).



Nahoru

Příspěvky

CoreOS – proč byste o něm měli uvažovat
Martin Stiborský 14. 07. 2015, 12:07:10
Odpovědět  Odkaz 
Dobrý den,
CoreOS opustil docker? To se mi moc nezdá, nebo jsem tu větu pochopil špatně?
Re: CoreOS – proč byste o něm měli uvažovat
prtj 14. 07. 2015, 19:07:21
Odpovědět  Odkaz 
opustil rkt a presiel na Docker, tak je to tam myslene
Re: Re: CoreOS – proč byste o něm měli uvažovat
nobody 14. 07. 2015, 20:34:58
Odpovědět  Odkaz 
tak ja tam teda ctu "prinasi rkt", nikoli ze ho opousti, pak ze je rkt podobne Dockeru a ten ze byl drive vyuzivan ;) Doplnim ze rkt dokaze pustit docker image...
https://coreos.com/blog/
https://github.com/coreos/rkt
Re: CoreOS – proč byste o něm měli uvažovat
Vojtěch Hutla 15. 07. 2015, 19:37:26
Odpovědět  Odkaz 
Omlouvám se za nedorozumění - skutečně je to tak. Vývojáři CoreOS si vyvinuli vlastní nástroj, protože se jim nelíbil vývoj Dockeru.
CoreOS – proč byste o něm měli uvažovat
pavel 16. 07. 2015, 16:59:50
Odpovědět  Odkaz 
... žijeme v době, kdy běžný desktop nabootuje za pár vteřin ...

Panebože, některé distribuce bootují desítky sekund i z rychlého úložiště !
Re: CoreOS – proč byste o něm měli uvažovat
nobody 16. 07. 2015, 20:02:37
Odpovědět  Odkaz 
a to jake distro z kategorie bezny desktop ? me napr. na 5let starem HW s i5 a SSD nabootuje Xubuntu 14.04LTS(tedy bez systemd) za 6 vterin :)
Lukáš Jelínek Re: Re: CoreOS – proč byste o něm měli uvažovat
Lukáš Jelínek 16. 07. 2015, 20:42:53
Odpovědět  Odkaz 
Mně za těch cca 6 vteřin nabootuje Kubuntu i Linux Mint, a to i na počítači starém skoro 7 let (byť obohaceném o SSD, z HDD by to trvalo déle). O novějších strojích nemluvě, tam je to ještě rychlejší.
Bezpecnost kontejneru
Vase jmeno 22. 07. 2015, 11:09:03
Odpovědět  Odkaz 
Jak je to s bezpecnosti v kontejnerech?

Je root v kontejneru stejny root jako v rodicovskem systemu?

Jsou tam dalsi zajimave bezpecnostni "diry", o kterych se moc nepise?

Dale me me zajima, zdali lze postavit jednoduse server, kde ma pristup 50 lidi, ale kazdy pouze ke svym 5 kontejnerum, ktere spravuje a pritom neni mozne, aby se z nich vysekal ven a zacal se vrtat i jinde (tento dotaz vychazi z realneho use-case, ke kteremu u nas smerujeme)?
Re: Bezpecnost kontejneru
Vase jmeno 30. 07. 2015, 08:34:07
Odpovědět  Odkaz 
bump
Vojtěch Hutla Re: Bezpecnost kontejneru
Vojtěch Hutla 30. 07. 2015, 13:51:52
Odpovědět  Odkaz 
Co se týče roota v kontejneru, není stejný, jako root v hostitelském systému - oproti rootu na hostiteli má omezená oprávnění. Konkrétně v případě Dockeru se používají pro zvýšení bezpečnosti prvky z kernelu (např. namespaces nebo cgroups). Nejsem bezpečnostní expert, takže Vás bohužel můžu akorát odkázat např. na článek zde - https://docs.docker.com/articles/security/.

K druhému dotazu - jednoduše by se to dalo vyřešit pomocí uživatelských účtů v kontejnerech. Jinak řečeno by měl v kontejneru účet pouze uživatel, který má mít přístup. Ale to je opravdu primitivní řešení a pravděpodobně bude obtížně spravovatelné.
Re: Re: Bezpecnost kontejneru
Vase jmeno 31. 07. 2015, 18:46:13
Odpovědět  Odkaz 
Dekuji za odpovedi a nasmerovani. Mrknu, zdali neco obdobneho neresi treba Kubernetes ci pridruzene nebo obdobne projekty.

Odpovědět

Nejsou podporovány žádné značky, komentáře jsou jen čistě textové. Více o diskuzích a pravidlech najdete v nápovědě.
Diskuzi můžete sledovat pomocí RSS kanálu rss



 
 

Top články z OpenOffice.cz