Programovanie

Flocker zväzuje Docker kontajnery a dáta pre ľahkú prepravu

Keď sa kontajnery Docker začnú širšie využívať, vyjasnia sa aj ich nedostatky. Ako napríklad migrujete bežiaci kontajner spolu s jeho údajmi na iný server a uchováte jeho údaje v tomto procese? Spravidla nie.

ClusterHQ, startup založený sčasti hlavnými prispievateľmi do sieťového enginu Python Twisted, má navrhované riešenie. Flocker, správca dátových zdrojov otvoreného zdroja (Apache) pre aplikácie Dockerized, ktorý je teraz v jeho vydaní 1.0, umožňuje priradiť objemy údajov (aka množiny údajov) ku kontajnerom a presunúť ich s nimi.

Držať to všetko pohromade

Flocker zväzuje kontajnery a súbory údajov, čím zaisťuje, že sa budú pohybovať vždy, keď dôjde k preprave aplikácie Dockerized medzi hostiteľmi v danom klastri. Jedným obmedzením je, že úložisko pre údaje musí byť poskytované zdieľaným koncovým serverom úložiska prístupným všetkým uzlom v klastri.

Momentálne je podporovaných iba niekoľko typov koncových zariadení úložiska, väčšinou orientovaných na cloud: Amazon EBS, Rackspace Cloud Block Storage a EMC ScaleIO. Podporované je aj úložisko založené na ZFS, aj keď iba prostredníctvom koncového zariadenia, ktoré je v súčasnosti experimentálne.

„Všetko, na čo by ste použili VMware vMotion,“ uviedol Mark Davis, generálny riaditeľ spoločnosti ClusterHQ, „z rovnakých dôvodov, ako by ste mohli chcieť kontajner premiestniť. A ak má kontajner v sebe dáta, potrebujete niečo ako Flocker.“

To znamená, že jedna vychvaľovaná funkcia vMotion - živá migrácia spustených aplikácií - ešte v aplikácii Flocker nie je. Jeho migrácie sú skôr „minimálne prestoje“ ako nulové prestoje, čo znamená, že počas procesu migrácie existuje malé okno nedostupnosti. Luke Marsden, CTO a spoluzakladateľ spoločnosti ClusterHQ, v telefonickom rozhovore uviedol, že prestoje „závisia od rýchlosti, akou môže mať zadný koniec objem odpojený od jedného VM a pripojený k inému VM. Ale veľmi nás zaujíma minimalizácia týchto prestojov. ““

ClusterHQ už má v dielach experimentálne funkcie na zrýchlenie procesu prostredníctvom snímok objemu, aj keď koncový server musí byť na zabezpečenie životaschopnosti podporovaný snímkami.

Dockerove chýbajúce kúsky

Docker tradične pracoval s dátami prostredníctvom objemov dát, prichádzajú však s vlastnými obmedzeniami. Ručné kopírovanie údajov medzi kontajnermi stále nie je jednoduché (údajne je opravené v Dockeri 1.7), ale najväčšou bariérou zostáva zlý stav správy údajov zdieľaných kontajnermi Dockeru bežiacimi na rôznych miestach.

Jeden aktuálny návrh pre Docker zahŕňa sprístupnenie nového typu úložného priestoru pre kontajnery, kde tretie strany môžu poskytnúť ovládače zariadení pre svoje vlastné typy úložného priestoru. Ak by bola takáto funkcia implementovaná, pre ClusterHQ by nebolo ťažké prepracovať jej podporu prostredníctvom back-endovej architektúry doplnkových dátových súborov - a udržať si krok vpred pred tým, ako sa akákoľvek funkcionalita časom zavedie do vlastného jadra Dockeru.

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