Managing Multiple Applications on Kubernetes Using GitOps Principles
Paavola, Esa (2021)
Paavola, Esa
2021
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2021083017229
https://urn.fi/URN:NBN:fi:amk-2021083017229
Tiivistelmä
Yritykset ja organisaatiot yhdistävät sovelluskehityksen ja IT-operaatioiden prosesseja kehittääkseen tuotteita nopeammin ja tehokkaammin. Kehitys- ja operaatiotiimien yhdistäminen lisää tuotteiden laatua ja arvoa asiakkaalle, kun yksi tiimi vastaa tuotteen kehityksestä, testauksesta, käyttöönotosta sekämonitoroinnista. Kyseistä menetelmää kutsutaan nimellä DevOps, ja siitä on tullut yleinen filosofia koko ohjelmistoalalla. DevOps periaatteet mahdollistavat jatkuvan ohjelmistotoimituksen, nopeammat ohjelmistojen päivitykset ja nopeamman ongelmien ratkaisun.
GitOps edustaa teknologiakeskeistä lähestymistapaa DevOpsiin. Kuten nimestä voi päätellä, GitOps käyttää Git-versionhallintajärjestelmää sovellusten ja järjestelmien määritysten hallintaan. GitOps tuo sovelluskehittäjille Gitistä tutut prosessit ja toiminnot käytettäväksi sovellusten hallinnassa. Sovellusten hallinnan lisäksi GitOps hyödyntää DevOpsin parhaita käytäntöjä, kuten yhteistyökäytäntöjä sekä jatkuvan koonnin työkaluja, ja soveltaa niitä infrastruktuuriautomaatioon. GitOpsin yksi periaatteista on kaiken automatisointi ja tämän ratkaisemiseksi GitOpsissa käytetään älykkäitä operaattoreita. Operaattorit vertaavat järjestelmän nykyistä tilaa haluttuun tilaan versionhallinnassa ja pitävät järjestelmän aina synkronoituna.
Tämän opinnäytetyön tarkoituksena on tutkia GitOps menetelmien etuja sovellusten hallinnassa Kubernetes-klusterissa. Tutkimus sisältää konseptitodistuksen, jossa useita pilvisovelluksia hallitaan GitOps käytäntöjen avulla. Ensin esitellään GitOps periaatteet ja niihin liittyvät teknologiat ja verrataan kahta avoimen lähdekoodin GitOps-operaattoria. GitOpsin käyttöä sovellusten hallinnassa tutkitaan konseptitodistuksen perusteella.
GitOps edustaa teknologiakeskeistä lähestymistapaa DevOpsiin. Kuten nimestä voi päätellä, GitOps käyttää Git-versionhallintajärjestelmää sovellusten ja järjestelmien määritysten hallintaan. GitOps tuo sovelluskehittäjille Gitistä tutut prosessit ja toiminnot käytettäväksi sovellusten hallinnassa. Sovellusten hallinnan lisäksi GitOps hyödyntää DevOpsin parhaita käytäntöjä, kuten yhteistyökäytäntöjä sekä jatkuvan koonnin työkaluja, ja soveltaa niitä infrastruktuuriautomaatioon. GitOpsin yksi periaatteista on kaiken automatisointi ja tämän ratkaisemiseksi GitOpsissa käytetään älykkäitä operaattoreita. Operaattorit vertaavat järjestelmän nykyistä tilaa haluttuun tilaan versionhallinnassa ja pitävät järjestelmän aina synkronoituna.
Tämän opinnäytetyön tarkoituksena on tutkia GitOps menetelmien etuja sovellusten hallinnassa Kubernetes-klusterissa. Tutkimus sisältää konseptitodistuksen, jossa useita pilvisovelluksia hallitaan GitOps käytäntöjen avulla. Ensin esitellään GitOps periaatteet ja niihin liittyvät teknologiat ja verrataan kahta avoimen lähdekoodin GitOps-operaattoria. GitOpsin käyttöä sovellusten hallinnassa tutkitaan konseptitodistuksen perusteella.