Applicability of Kubernetes to Industrial IoT Edge Computing System

dc.contributorAalto-yliopistofi
dc.contributorAalto Universityen
dc.contributor.advisorMakarov, Dmitry
dc.contributor.authorLeskinen, Arseni
dc.contributor.schoolSähkötekniikan korkeakoulufi
dc.contributor.supervisorHirvisalo, Vesa
dc.date.accessioned2020-10-25T18:10:01Z
dc.date.available2020-10-25T18:10:01Z
dc.date.issued2020-10-19
dc.description.abstractInternet of Things is not only massive in consumer markets, but the industrial segment is one of the largest ones based on the number of connected devices, which produce an enormous amount of data. The collected data is often stored in cloud-based systems, where the post-processing of the data is executed. However, cloud computing is not suitable for time-critical applications, which require immediate feedback such as autonomous vehicles, due to high latency. In addition, there may be security concerns about the data being stored at the external cloud provider. Therefore edge computing with local processing should be used in these scenarios. In recent years, Kubernetes has also become a common choice for deploying containerized applications to the cloud, and for this reason, most of the cloud providers offer their own managed Kubernetes solution. Kubernetes can also be installed on the edge, but there are challenges with the management of the control plane, hardware upgrades, and maintenance as they all need to be handled in-house. The thesis work investigates the applicability of a lightweight k3s Kubernetes distribution in an industrial IoT edge context by configuring the cluster and performing load tests. The author creates an automated cluster provisioning method to simplify the configuration process of a Kubernetes cluster in a resource-constrained environment. The proposed solution includes cloud-native approaches to simplify application workload installation. This is achieved by using a GitOps operator to store and synchronize the application workload configurations from external version control to Kubernetes. Therefore, this approach maintains a history of changes, but it also allows for simple and secure application installation, upgrades, or removal to be made remotely. Finally, an MQTT broker application is deployed to the cluster as an example workload for the GitOps approach and to act as a communication layer for both industrial IoT devices and system applications. The author uses this to evaluate the cluster performance in a simulated industrial IoT scenario by sending large amounts of MQTT telemetry data through the MQTT broker.en
dc.description.abstractEsineiden internetissä ei ole kyse pelkästään kuluttajatuotteista, sillä teollisuus on yksi suurimmista osa-alueista ja siellä laitteet tuottavat valtavia määriä dataa. Kerätty data on usein säilötty pilvipohjaisiin järjestelmiin, jossa jälkiprosessointi tapahtuu. Kuitenkaan pilvilaskenta ei sovellu aikakriittisiin sovelluksiin, joissa tarvitaan välitöntä takaisinkytkentää, eli esimerkiksi itseohjautuviin autoihin, koska latenssi on liian suuri. Lisäksi, dataa ei välttämättä haluta tallentaa kolmannen osapuolen pilvipalveluun turvallisuussyistä. Siksi reunalaskentaa tulisi käyttää tämänlaisiin tilanteisiin. Lähivuosina Kuberneteksesta on tullut yleinen valinta kontitetun applikaation käyttöönottoon pilviympäristöissä, ja tästä syystä moni pilvipalvelu tarjoaa omaa hallittua Kubernetes ratkaisuaan. Kuberneteksen pystyy myös asentamaan lokaalisti reunalaskentaympäristöön, mutta silloin järjestelmän sisäinen ohjaus, raudan päivitys ja ylläpito pitää hoitaa itse. Tämä tutkielma selvittää kevyen k3s Kubernetes jakelun soveltuvuutta teollisen esineiden internetin käyttötarkoituksiin testaamalla pientä klusteria simuloidulla kuormituksella. Tekijä luo myös automaattisen menetelmän klusterin alustukseen helpottaakseen konfigurointia. Ratkaisuehdotus sisältää lisäksi pilvipalveluiden tapaisia toimintamalleja, joilla helpotetaan applikaatioiden asennusta. Tämä toteutetaan GitOps menetelmää käyttäen, jolloin applikaation konfiguraatiot voidaan tallentaa ja synkronoida ulkoisesta versionhallintajärjestelmästä Kubernetekseen. Tämänlaisella toimintamallilla voidaan säilyttää muutoshistoria, mutta sen lisäksi myös se on helppo ja turvallinen tapa asentaa, päivittää tai poistaa applikaatioita etänä. Lopuksi hajautettu MQTT broker applikaatio asennetaan klusteriin käyttäen esiteltyä GitOps menetelmää, jolloin MQTT brokeria käytetään eri laitteiden ja myös applikaatioiden väliseen viestintään. Tämän avulla järjestelmän tehokkuutta testataan lähettämällä suuria määriä simuloitua esineiden internet dataa MQTT protokollaa käyttäen.fi
dc.format.extent55+4
dc.format.mimetypeapplication/pdfen
dc.identifier.urihttps://aaltodoc.aalto.fi/handle/123456789/47169
dc.identifier.urnURN:NBN:fi:aalto-202010256055
dc.language.isoenen
dc.locationP1fi
dc.programmeAEE - Master’s Programme in Automation and Electrical Engineering (TS2013)fi
dc.programme.majorControl, Robotics and Autonomous Systemsfi
dc.programme.mcodeELEC3025fi
dc.subject.keywordedge computingen
dc.subject.keywordindustrial IoTen
dc.subject.keywordkubernetesen
dc.subject.keywordDevOpsen
dc.subject.keywordGitOpsen
dc.subject.keywordMQTTen
dc.titleApplicability of Kubernetes to Industrial IoT Edge Computing Systemen
dc.titleKuberneteksen soveltuvuus teolliseen esineiden internet reunalaskentajärjestelmäänfi
dc.typeG2 Pro gradu, diplomityöfi
dc.type.ontasotMaster's thesisen
dc.type.ontasotDiplomityöfi
local.aalto.electroniconlyyes
local.aalto.openaccessyes
Files
Original bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
master_Leskinen_Arseni_2020.pdf
Size:
10.37 MB
Format:
Adobe Portable Document Format