haku: @supervisor Kantola, Raimo / yhteensä: 339
viite: 2 / 339
Tekijä:Marttila, Tero
Työn nimi:Design and Implementation of the clusterf Load Balancer for Docker Clusters
Docker-ryppäiden clusterf -kuormantasaajan suunnittelu ja toteutus
Julkaisutyyppi:Diplomityö
Julkaisuvuosi:2016
Sivut:(7) + 97      Kieli:   eng
Koulu/Laitos/Osasto:Sähkötekniikan korkeakoulu
Oppiaine:Tietoverkot   (S3022)
Valvoja:Kantola, Raimo
Ohjaaja:Sarolahti, Pasi
Elektroninen julkaisu: http://urn.fi/URN:NBN:fi:aalto-201611025433
Sijainti:P1 Ark Aalto  5036   | Arkisto
Avainsanat:Docker
load balancing
DSR
NAT
service discovery
container platforms
Tiivistelmä (fin):Docker tarjoaa omavaraisia sovelluslevykuvia joita voidaan siirtää eri tietokoneille ja tavan suorittaa kyseisiä sovelluslevykuvia Docker konttien muodostamissa eristetyssä sovellusympäristöissä.
Konttialustat tarjoavat pilvessä ajettavien skaalautuvien sovelluspalveluiden käyttöönottoon vaadittuja peruspalveluita, kuten orkestrointia, verkkoviestintää, palvelinetsintää sekä kuormantasausta.

Tämä työ tutkii konttiverkkojen arkkitehtuuria sekä olemassaolevia pilvikuormantasaajatoteutuksia luodakseen skaalautuvan Linux IPVS-toteutukseen pohjautuvan verkkotason kuormantasaajan toteutusmallin.
Tämä clusterf kuormantasaaja käyttää kaksikerroksista kuormantasausmallia joka yhdistää eri kuormantasausmenetelmiä saavuttaakkseen sekä skaalautuvuuden että yhteensopivuuden olemassaolevien Docker konttisovelluksien kanssa.
Työssä toteutetaan hajautettu ohjauspinta joka tarjoaa automaattisen kuormatasauksen Docker konttisovelluksille.Tämän clusterf kuormantasausmallin toteutusta arvioidaan erillisessä ympäristössä mittaamalla Linux IPVS-toteutuksen tarjoama suorituskyky.

Tämän clusterf kuormantasaajan skaalautuvuus arvioidaan käyttäen Equal-Cost Multi-Path (ECMP) reititystä sekä IPVS-yhteystilojen synkronointia.Tutkimustyön tuloksena nähdään että verkkotason IPVS kuormantasaaja suoriutuu huomattavasti paremmin kuin sovellustason HAProxy kuormantasaaja samassa konfiguraatiossa.
Tämä clusterf toteutus mahdollistaa myös kuormantasaajan skaalautumisen, sallien yhteyksien siirtämisen kuormantasaajalta toiselle.

Nykyinen clusterf toteutus perustuu epäsymmetrisen reitityksen käyttöön, joka onnistuu Ethernet-pohjaisessa paikallisverkoissa.
Toteutuksen laajentaminen mahdollistaakseen käyttöönoton erilaisia verkkototeutuksia käyttävien pilvialustojen päällä sallisi clusterf-kuormantasaajan käytön osana yleistä konttialustaa.
Tiivistelmä (eng):Docker uses the Linux container namespace and cgroup primitives to provide isolated application runtime environments, allowing the distribution of self-contained application images that can be run in the form of Docker containers.
Container platforms provide the infrastructure needed to deploy horizontally scalable container services into the Cloud, including orchestration, networking, service discovery and load balancing.

This thesis studies container networking architectures and existing Cloud load balancer implementations to create a design for a scalable load balancer using the Linux IPVS network-level load balancer implementation.
The clusterf load balancer architecture uses a two-level load balancing scheme combining different packet forwarding methods for scalability and compatibility with existing Docker applications.
A distributed load balancer control plane is implemented to provide automatic load balancing for Docker containers.

The clusterf load balancer is evaluated using a testbed environment, measuring the performance the network-level Linux IPVS implementation.
The scalability of the clusterf load balancer is tested using Equal-Cost Multi-Path (ECMP) routing and IPVS connection synchronization.

The result is that the network-level Linux IPVS load balancer performs significantly better than the application-level HAProxy load balancer in the same configuration.
The clusterf design allows for horizontal scaling with connection failover between IPVS load balancers.

The current clusterf implementation requires the use of asymmetric routing within a network, such as provided by local Ethernet networks.
Extending the clusterf design to support deployment onto existing Cloud infrastructure platforms with different networking implementations would qualify the clusterf load balancer for use in container platforms.
ED:2016-11-13
INSSI tietueen numero: 54964
+ lisää koriin
INSSI