Środowisko graficzne do generowania wirtualnego środowiska
Transkrypt
Środowisko graficzne do generowania wirtualnego środowiska
Środowisko graficzne do generowania wirtualnego środowiska badawczego do badania algorytmów trasowania w sieciach komputerowych Michał Żmuda, Mateusz Radko Cel projektu Stworzenie funkcjonalnego narzędzia do automatycznego generowania środowiska o zadanych przez użytkownika parametrach Cel projektu Środowisko to zestaw odpowiednio skonfigurowanych maszyn wirtualnych (klientów i routerów oraz odpowiednio skonfigurowanych sieci pomiędzy nimi) Cel projektu Środowisko będzie wykorzystywane do badania algorytmów trasowania w sieciach komputerowych Co zrobimy ● GUI (definiowanie schematu sieci) Zakres ● Instancjonowanie (umożliwienie uruchomienia maszyn) Architektura & technologie ● GUI jako webaplikacja ○ serwer - python, django ○ Interfejs - widget jQuery UI ● Wirtualizacja ○ kontenery - Docker Compose Docker Docker ● lekka wirtualizacja ● działa jak VM ale znaczne sprawniej ● Windows/Linux/MacOS Docker ● wspóldzielenie kernela ● izolacja dzięki cgroup i namespaces ● umożliwia tworzenie wirtualnych sieci Docker Docker Compose ● umożliwia konfigurowanie całych środowisk składajacych się z kontenerów ● opis przez prosty plik yml Szczegóły GUI ● Pozwala ustawić: ○ lan segment ○ adres IP ○ maska podsieci ○ brama domyślna ○ nazwa hosta ○ i inne... GUI ● Produkuje pliki (projekt): ○ docker-compose.yml opisujący środowisko ○ pliki z konfiguracją routerów ○ skrypt uruchamiający i konfigurujący kontenery GUI Oprócz eksportu plików umożliwia uruchomienie środowiska na maszynie na której GUI jest uruchomione Wirtualizacja ● Bazujemy na dostępnych obrazach kontenerów dockera ● Poszerzamy je o niezbędne narzędzia Wirtualizacja ● Korzystamy z funkcjonalności definiowania sieci w Docker Compose ● Nadpisujemy część ustawień w skrypcie uruchamiającym (np. default gateway) Workflow 1. skonfigurowanie sieci poprzez GUI 2. eksport projektu 3. uruchomienie skryptu (w projekcie) uruchamiającego i konfigurującego 4. uruchomienie skryptu sprzątającego Ewaluacja narzędzi ● Zestawiliśmy proste środowisko z uzyciem Docker Compose Przykładowe środowisko ● Po wykonaniu skryptu ruch sieciowy działał zgodnie z oczekiwaniami Harmonogram 01.04 - testy instancjonowania środowiska 21.04 - możliwość generowania plików projektu (bez GUI) 11.05 - funkcjonalne GUI 01.06 - zintegrowane środowisko + pełne pokrycie testami ? - ewaluacja systemu Pytania?