Show simple item record

dc.contributor.advisorBratsberg, Svein Erik
dc.contributor.authorStanderen, Andrea.
dc.date.accessioned2022-09-20T17:20:49Z
dc.date.available2022-09-20T17:20:49Z
dc.date.issued2022
dc.identifierno.ntnu:inspera:112046434:33728014
dc.identifier.urihttps://hdl.handle.net/11250/3019905
dc.description.abstractDenne oppgaven har som formål å utforske den manuelle oppsettprosessen som kreves ved implementering av MongoDB i et self-managed Kubernetes cluster uten hjelp fra en operator. Den alternative fremgangsmåten innebærer et provider-managed Kubernetes cluster og bruk av applikasjonsspesifikke operatorer for å konfigurere applikasjoner til å kjøre i et Kubernetes cluster. Kartlegging av områdene kompleksitet og enkelhet innenfor den manuelle fremgangsmåten er et verdifullt bidrag til feltet DevOps, Development og IT Operations, med tanke på om man bør belage seg på tredjeparter eller gjøre det selv. I prosessen med å skaffe praktisk erfaring for å rettferdiggjøre en anbefaling av en fremgangsmåte fremfor en annen, ble et self-managed Kubernetes cluster initialisert ved å bruke Azure VMs og kubeadm før et replikasett med tre MongoDB-forekomster ble implementert ved bruk av et StatefulSet og en sidecar container. Oppgaven legger vekt på alle veisperringer på veien mot å oppnå denne arkitekturen og reflekterer over hvilke konsepter som krever spisskompetanse innenfor domenet. Reisen viste at den største utfordringen ved å velge manuelle fremgangsmåter når man arbeider med et system som består av mange komponenter, er at det er unike konfigurasjoner for hver varierende komponent. Avhandlingen konkluderte med at det er relativt raskt og enkelt å sette opp et self-managed Kubernetes cluster, samtidig som man bevarer frihet og kontroll over clusteret. På den annen side ble det ikke anbefalt å unngå å benytte seg av en operator for å konfigurere en stateful applikasjon til å kjøre i et Kubernetes-miljø.
dc.description.abstractThis thesis aims towards exploring the manual setup process required when deploying MongoDB in a self-managed Kubernetes cluster without the help of an operator. The alternative approach takes advantage of a Kubernetes cluster managed by a provider and applies application specific operators for configuring applications to run in a Kubernetes cluster. Mapping out the areas of complexity versus simplicity within the manual approach is a valuable contribution to the field of DevOps, Development and IT Operations, considering whether or not one should rely on third-parties or do it yourself. In the process of procuring hands- on experience to justify a recommendation of an approach over another, a self-managed Kubernetes cluster was initialized using Azure Virtual Machine (VM)s and kubeadm before deploying a replicaset of three MongoDB instances using a StatefulSet and a sidecar container. The thesis emphasizes all roadblocks met on the way to obtaining this architecture and reflects on what concepts that demand cutting-edge domain expertise. The journey revealed that the biggest challenge by resolving to manual approaches when working with such a tightly coupled system as Kubernetes is, is that there are unique configurations for every varying component. The thesis concluded that setting up a self-managed Kubernetes cluster is relative quick and easy while still possessing freedom and control over the cluster. On the other hand, not exploiting an operator for configuring a stateful application to run in a Kubernetes environment was not recommended.
dc.languageeng
dc.publisherNTNU
dc.titleDeploying MongoDB in a Self-Managed Kubernetes Cluster
dc.typeMaster thesis


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record