Programování

Flocker spojuje Docker kontejnery a data pro snadnou přepravu

Když se kontejnery Docker začnou používat širší, jejich nedostatky budou také jasnější. Jak například migrujete spuštěný kontejner spolu s jeho daty na jiný server a uchováte jeho data v procesu? Obvykle ne.

ClusterHQ, startup založený zčásti hlavními přispěvateli do síťového stroje Python Twisted, má navrhované řešení. Flocker, open source (Apache) správce objemů dat pro aplikace Dockerized, který je nyní ve verzi 1.0, umožňuje přidružení objemů dat (aka datových sad) ke kontejnerům a přesunutí s nimi.

Držet to všechno pohromadě

Flocker svazuje kontejnery a datové sady a zajišťuje, že se budou pohybovat společně, kdykoli bude Dockerized aplikace přesunuta mezi hostitele v daném clusteru. Jedním omezením je, že úložiště pro data musí být poskytováno sdíleným back-endem úložiště přístupným všem uzlům v klastru.

Právě teď je podporováno pouze několik typů koncových zařízení úložiště, většinou cloudově orientovaných: Amazon EBS, Rackspace Cloud Block Storage a EMC ScaleIO. Úložiště založené na ZFS je také podporováno, i když pouze prostřednictvím back-endu, který je aktuálně experimentální.

„Cokoli, k čemu byste použili VMware vMotion,“ řekl Mark Davis, generální ředitel ClusterHQ, „jsou stejné důvody, proč byste mohli chtít kontejner přemístit. A pokud má kontejner v sobě data, potřebujete něco jako Flocker.“

To znamená, že jedna vychvalovaná funkce vMotion - živá migrace spuštěných aplikací - ještě ve Flockeru ještě není. Jeho migrace jsou spíše „minimální prostoje“ než nulové prostoje, což znamená, že během procesu migrace je malé okno nedostupnosti. Luke Marsden, technický ředitel a spoluzakladatel společnosti ClusterHQ, v telefonním hovoru uvedl, že prostoje „závisí na rychlosti, s jakou může zadní konec mít svazek odpojený od jednoho VM a připojený k jinému VM. Ale velmi nás zajímá minimalizace tohoto prostoje. “

ClusterHQ již má v pracích experimentální funkce pro zrychlení procesu prostřednictvím snapshotů svazků, ačkoli back-end musí podporovat snímky, aby byl životaschopný.

Chybějící kousky Dockera

Docker tradičně pracoval s daty prostřednictvím objemů dat, ale mají svá vlastní omezení. Ruční kopírování dat mezi kontejnery stále není jednoduché (údajně opravené v Dockeru 1.7), ale největší zeď zůstává špatný stav správy pro data sdílená Dockerovými kontejnery běžícími na různých místech.

Jeden aktuální návrh pro Docker zahrnuje zpřístupnění nového typu úložiště kontejnerům, kde třetí strany mohou poskytnout ovladače zařízení pro své vlastní typy úložiště. Pokud by byla taková funkce implementována, nebylo by pro ClusterHQ obtížné přepracovat svou podporu prostřednictvím back-endové architektury plug-in datové sady - a udržet krok před jakoukoli funkcionalitou, která se postupem času dostane do vlastního jádra Dockeru.

$config[zx-auto] not found$config[zx-overlay] not found