Flocker svežnji Docker spremnika i podataka za lakši transport

Kako Docker-ovi spremnici postaju sve širi, njihovi nedostaci također postaju sve jasniji. Kako, na primjer, migrirate tekući spremnik zajedno s podacima na drugi poslužitelj i u procesu čuvate njegove podatke? Tipično nemate.

Predloženo rješenje ima ClusterHQ, startup koji su djelomično osnovali glavni suradnici Python Twisted network engine-a. Flocker, upravitelj volumena podataka otvorenog koda (Apache) za dockerizovane aplikacije koji je sada u izdanju 1.0, omogućuje povezivanje volumena podataka (odnosno skupova podataka) sa spremnicima i premještanje s njima.

Održavajući sve skupa

Flocker spakuje spremnike i skupove podataka, osiguravajući njihovo kretanje zajedno kad god se Dockerized aplikacija premješta između hostova na danom klasteru. Jedno ograničenje je da pohranu podataka mora osigurati zajednička pozadina pohrane dostupna svim čvorovima u klasteru.

Trenutno je podržano samo nekoliko vrsta pozadinskih prostora za pohranu, uglavnom orijentiranih na oblak: Amazon EBS, Rackspace Cloud Block Storage i EMC ScaleIO. Podržana je i pohrana temeljena na ZFS-u, iako samo putem pozadine koja je trenutno eksperimentalna.

"Sve za što biste koristili VMware vMotion", rekao je Mark Davis, izvršni direktor ClusterHQ, "isti su razlozi zbog kojih biste možda željeli premjestiti spremnik. A ako spremnik sadrži podatke, trebate nešto poput Flockera."

Ipak, jedna hvaljena značajka vMotion - migracija aktivnih aplikacija u živo - još nije sasvim prisutna u Flockeru. Njegove su migracije "minimalni zastoji", a ne nulti zastoji, što znači da je mali prozor nedostupnosti tijekom procesa migracije. Luke Marsden, tehnički direktor i suosnivač ClusterHQ-a, izjavio je u telefonskom pozivu da vrijeme zastoja "ovisi o brzini kojom stražnji kraj može imati volumen odvojen od jednog VM-a i priključen na drugi VM. Ali nas jako zanima minimizirajući taj zastoj. "

ClusterHQ već ima eksperimentalne značajke kako bi ubrzao postupak pomoću volumenskih snimaka, premda stražnji kraj mora podržavati snimke da bi bio održiv.

Dockerove dijelove koji nedostaju

Docker tradicionalno radi s podacima putem volumena podataka, ali oni dolaze sa svojim ograničenjima. Ručno kopiranje podataka između spremnika još uvijek nije jednostavno (navodno je popravljeno u Dockeru 1.7), ali najveći je zid i dalje loše stanje upravljanja podacima koje dijele Dockerovi spremnici na različitim lokacijama.

Jedan trenutni prijedlog za Docker uključuje stavljanje na raspolaganje nove vrste spremišta spremnicima, gdje treće strane mogu osigurati upravljačke programe uređaja za svoje vlastite vrste pohrane. Ako bi se takva značajka implementirala, ClusterHQ-u ne bi bilo teško preraditi podršku kroz pozadinsku arhitekturu dodataka svog skupa podataka - i držati korak ispred bilo koje funkcije koja se s vremenom ubaci u Docker-ovu vlastitu jezgru.