Elosztott alkalmazásüzemeltetési környezet létrehozása konténer alapú virtualizációval

OData támogatás
Konzulens:
Dr. Ráth István Zoltán
Méréstechnika és Információs Rendszerek Tanszék

A szakdolgozat célja egy olyan elosztott, Docker-futtatásra képes infrastruktúra megtervezése volt, amely képes a projekt céljaként megjelölt irányelvek (Infrastructure as Code, Immutable Infrastructure, Continuous Integration & Deployment) bevezetésének támogatására.

A infrastruktúra megtervezéséhez szükséges volt kiválasztani az igényeknek megfelelő, elosztott, Docker konténer futtatást támogató keretrendszert. A két megvizsgált alternatíva a Docker Swarm és Kubernetes volt. A két eszköz szinte megegyező funkciókat valósít meg, ezért a döntés alapja az eszköz elterjedtsége és támogatottsága lett. Ezek mérlegelése után a Kubernetesre esett a választás, mint a megtervezendő infrastruktúra alapját adó keretrendszer.

A Kubernetes infrastruktúrában futó gépek erőforrás-méretezésének alapjául az aktuális futtatókörnyezet szolgált. A gépek operációs rendszeréül a beépített telepítési és beállítási mechanizmusok miatt a CoreOS-re esett a választás. A telepítési automatizmus támogatásához kialakításra került egy HTTP szerver, ahol a telepítéshez szükséges bináris és konfigurációs állományok érhetőek el. A Kubernetes cluster kialakításához szükséges volt a vezérlési feladatokat ellátó komponensek számosságának meghatározására. A tesztkörnyezet igényeinek figyelembe vételével egyetlen Master Node került kialakításra.

A Kubernetes clusteren futtatott alkalmazások magas rendelkezésre állásának biztosításához szükség volt egy elosztott háttértároló implementáció kiválasztására is. A két megvizsgált alternatíva a Gluster és a Ceph volt, ezek teljesítménye az eredeti környezetben alkalmazott lokális LVM fájlrendszerével került összevetésre. A fio nevű I/O teljesítménymérő eszköz segítségével végzett mérések alapján a Ceph bizonyult jobb alternatívának, így a Kubernetes infrastruktúrában ez került bevezetésre.

Az első Kubernetes clusteren való futtatásra készen álló alkalmazás, a realCity Replay költözésének megtervezése során létrehozásra kerültek a Kubernetes konfigurációs objektumok, a költöztetés automatizálását segítő scriptek, valamint a forráskörnyezetről a clusterre történő átállás menetét rögzítő forgatókönyv. A tesztkörnyezet migrációja ezen dokumentum alapján történt, ennek során komoly hiányosságokra nem derült fény. Az utólagos elemzés során több javaslat is született a forgatókönyvben foglalt lépések optimalizálására, melyek közül az adatbázis másolási módszerének megváltoztatása lehet a legnagyobb hatással a költöztetési folyamatra.

Letölthető fájlok

A témához tartozó fájlokat csak bejelentkezett felhasználók tölthetik le.