Roztažení Docker kontejneru přes více serverů

miro

Roztažení Docker kontejneru přes více serverů
« kdy: 13. 02. 2015, 14:30:28 »
Ahoj, jsem hobby Linux admin (pracuji jako Windows technik). Mám doma tři vyřazené servery a rád bych si udělal takový malý privátní "cloud", postavený buď na CoreOS nebo OpenStacku. Co mi ale není jasné je to, jestli CoreOS dokáže roztáhnout jeden Docker kontejner přes více serverů - tedy že kontejneru například přiřadím půlku RAM co mají ty tři servery dohromady a 2 procesory z jednoho a 1 procesor z druhého serveru.

Záložní plán byl nainstalovat nejdříve OpenStack, tam si vytvořit stroj přes celý "minicluster" a tam teprve mít CoreOS, ale přijde mi, že by to mohlo umět CoreOS samo (ale nikde o tom nemohu najít nějakou zmínku - možná jen špatně hledám). Vlastně ani nevím, jestli tohle dokáže OpenStack (co jsem se dočetl, tak asi ano, ale když mi to potvrdíte, budu rád) - v takovém případě bych šáhl po VMware ESXi, na který mám licenci (zdarma nepodporuje clustery) a vím určitě, že to dokáže, používáme je v práci.
« Poslední změna: 13. 02. 2015, 15:29:13 od Petr Krčmář »


miro

Re:Lze roztáhnout Docker kontejner přes více serverů?
« Odpověď #1 kdy: 13. 02. 2015, 14:37:28 »
Oprava: po ESXi šáhnu, pokud to OpenStack nebude umět, napsal jsem to trochu zmateně.

Re:Lze roztáhnout Docker kontejner přes více serverů?
« Odpověď #2 kdy: 13. 02. 2015, 14:37:56 »
Ne. A ne. A vazne mam dojem, ze to neumi ani ten ESXi (ten umi migrovat, ale skutecne umi mit jeden bezici kernel bez daslich pozadavku na bezici sodtware nad nim rozdistribuovany po vic serverech?).

Obecne je predstava, ze si jen tak mirnyx tyrnyx v mistech, kde by byl pristup do pameti, pridas sitove prenosy, dost problematicka.

miro

Re:Lze roztáhnout Docker kontejner přes více serverů?
« Odpověď #3 kdy: 13. 02. 2015, 14:42:19 »
Já sám si tím ESXi nejsem jist. V práci se k tomu nedostanu (jsem technik, ne administrátor), takže jen co vím z diskuzí adminů u oběda - ale co jsem pochopil, tak ano. Mohu vyzkoušet, uvidíme.

Jak se tedy řeší, když mám rack plný blade serverů a jednu náročnou aplikaci, kterou bych tam rád pustil? Je to nepoužitelné a musím mít prostě jeden klasický server, kde to poběží?

A k čemu tedy jsou CoreOS clustery? Kvůli zjednodušené správě (prostě pustím kontejner a nezajímám se, kde)?

miro

Re:Lze roztáhnout Docker kontejner přes více serverů?
« Odpověď #4 kdy: 13. 02. 2015, 14:45:52 »
Teď mi došlo, že ty clustery minimálně slouží k vysoké dostupnosti, což asi je celkem důležitá funkce.


Re:Lze roztáhnout Docker kontejner přes více serverů?
« Odpověď #5 kdy: 13. 02. 2015, 14:56:02 »
Tak tu aplikaci spustis vickrat a jednotlive kousky resi jednotlive casti problemu. (At uz to znamena, ze si rozhodi praci na vypoctu nebo ze pred nimi je nejaky loadbalancer, ktery mezi ne rozhazuje pozadavky nebo ze kazda z nich drzi cast dat)
Tohle vyzaduje _hodne_ prace pri navrhu aplikace a nemuzes jen tak vzit existujici kod a placnout ho na "pocitac" roztazeny pres tri pocitace.

rudi

Re:Lze roztáhnout Docker kontejner přes více serverů?
« Odpověď #6 kdy: 13. 02. 2015, 15:05:31 »
ESXi to nevie

Citace
Jak se tedy řeší, když mám rack plný blade serverů a jednu náročnou aplikaci, kterou bych tam rád pustil? Je to nepoužitelné a musím mít prostě jeden klasický server, kde to poběží?
tak nejak

miro

Re:Lze roztáhnout Docker kontejner přes více serverů?
« Odpověď #7 kdy: 13. 02. 2015, 15:11:30 »
Ok, díky moc za odpovědi. Otázka s tím, že by se místo přístupu do paměti sahalo někam do sítě mě taky napadla, ale popravdě mi úplně nedošlo, že to tím pádem nepůjde.

Ještě jednou díky! :)

miro

Re:Lze roztáhnout Docker kontejner přes více serverů?
« Odpověď #8 kdy: 13. 02. 2015, 15:12:01 »
ESXi to nevie

Citace
Jak se tedy řeší, když mám rack plný blade serverů a jednu náročnou aplikaci, kterou bych tam rád pustil? Je to nepoužitelné a musím mít prostě jeden klasický server, kde to poběží?
tak nejak

Díky za upřesnění.

Re:Lze roztáhnout Docker kontejner přes více serverů?
« Odpověď #9 kdy: 13. 02. 2015, 15:13:46 »
Ok, díky moc za odpovědi. Otázka s tím, že by se místo přístupu do paměti sahalo někam do sítě mě taky napadla, ale popravdě mi úplně nedošlo, že to tím pádem nepůjde.

Ještě jednou díky! :)

Moc pekna ilustrace k problemu: http://www.eecs.berkeley.edu/~rcs/research/interactive_latency.html

...a rado se ;)

Ivan

Re:Lze roztáhnout Docker kontejner přes více serverů?
« Odpověď #10 kdy: 13. 02. 2015, 15:35:22 »
Tohle na x86 asi neumi nikdo krome IBM(Lenovo). http://www.redbooks.ibm.com/Redbooks.nsf/RedbookAbstracts/tips0476.html?Open.

To co popisujes je NUMA architektura a na propojeni serveru se rozhodne neda pouzit ethernet.

ESX napozadi kopiruje obsah RAM v jednoho hosta na druhy. Dela to kvuli tomu, ze se dal virtual ryhle prehodit. Ten virtual ani nahodou nebezi na vice hostech najedou. Navic by mely mit oba hosty identicky (anebo alespon velice podobny) model CPU.

miro

Re:Lze roztáhnout Docker kontejner přes více serverů?
« Odpověď #11 kdy: 13. 02. 2015, 16:06:23 »
Tohle na x86 asi neumi nikdo krome IBM(Lenovo). http://www.redbooks.ibm.com/Redbooks.nsf/RedbookAbstracts/tips0476.html?Open.

To co popisujes je NUMA architektura a na propojeni serveru se rozhodne neda pouzit ethernet.

ESX napozadi kopiruje obsah RAM v jednoho hosta na druhy. Dela to kvuli tomu, ze se dal virtual ryhle prehodit. Ten virtual ani nahodou nebezi na vice hostech najedou. Navic by mely mit oba hosty identicky (anebo alespon velice podobny) model CPU.

Které jiné platformy od x86 toto zvládají?

Ivan

Re:Lze roztáhnout Docker kontejner přes více serverů?
« Odpověď #12 kdy: 13. 02. 2015, 17:01:17 »
Které jiné platformy od x86 toto zvládají?

Ty co bezi na Itaniu(SGI, HP) anebo PowerPC(IBM). Tyhle procesory nemaji inegrovany radic pameti.

Takze v pripade SGI je radic implementovan jako specialni chip, ktery je pripojen nejen k pametem ale i do specialni kruhove site s ostatnimi radici pameti.
V pripade PowerPC neni procesorova karta pripojena na sbernici, ale k vice cestnemu switchi. K tomu switchi jsou pripojeny i ostani radice pameti.

rudi

Re:Lze roztáhnout Docker kontejner přes více serverů?
« Odpověď #13 kdy: 13. 02. 2015, 17:16:59 »
Tohle na x86 asi neumi nikdo krome IBM(Lenovo). http://www.redbooks.ibm.com/Redbooks.nsf/RedbookAbstracts/tips0476.html?Open.
NUMA je bezna vec u multiprocesorovych serverov (Intel QPI/AMD HT), na serveri s NUMA bezi iba jeden ESXi hypervizor takze to je trochu nieco ine,