GitOps-ympäristön asennus
Roiha, Juho (2021)
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2021110119129
https://urn.fi/URN:NBN:fi:amk-2021110119129
Tiivistelmä
Insinöörityön tavoitteena oli suunnitella ja toteuttaa GitOps-ympäristö, jonka avulla julkaistaan Java-sovellus. Ympäristön tarkoituksena on suoraviivaistaa sovelluksen julkaisuprosessia ja helpottaa uuden koodin integrointia sovellukseen.
Työn alussa esiteltiin sovelluskonttiteknologiaa, sovellusten jakelun historiaa ja jatkuvaa integrointia ja toimitusta. Seuraavaksi esiteltiin Kubernetes-ajoympäristö ja GitOps-menetelmä.
Esittelyjen jälkeen työssä määriteltiin ympäristön vaatimukset. Vaatimuksien määrittelyn jälkeen suunniteltiin sovelluksen koonnin ja testit suorittava integraatioputki sekä testatusta sovelluksesta Docker-imagen muodostava ja imagen julkaiseva toimitusputki. Putkien suunnittelun jälkeen valittiin Kubernetes-jakelu suorituskykymittauksen pohjalta. Valinnan jälkeen suunniteltiin klusterin rakenne.
Suunnitteluvaiheen jälkeen suoritettiin ympäristön asennus. Asennus suoritettiin ensin virtuaalikoneeseen paikalliselle työasemalle. Paikallista asennusta käytettiin testiympäristönä. Paikallisen asennuksen jälkeen työssä toteutettiin suunniteltu jatkuvan integroinnin ja toimituksen putki. Testiympäristön asentamisen jälkeen tuotantoympäristö asennettiin virtuaalipalvelimille ja sovellus julkaistiin.
Työssä toteutettiin yksinkertainen Kubernetes-ajoympäristö, jonka toimintaa ohjataan GitLab-versiohallinnan kautta. Sovelluksen testaus, koonti ja asentaminen testi- ja tuotantoympäristöihin onnistuu versiohallintaa käyttämällä. Työn valmistuessa sovellus oli julkaistu toteutetussa ympäristössä. Työssä päästiin asetettuun tavoitteeseen. Työstä opituilla taidoilla klusteriin voidaan helposti lisätä uusia web-sovelluksia.
Työn alussa esiteltiin sovelluskonttiteknologiaa, sovellusten jakelun historiaa ja jatkuvaa integrointia ja toimitusta. Seuraavaksi esiteltiin Kubernetes-ajoympäristö ja GitOps-menetelmä.
Esittelyjen jälkeen työssä määriteltiin ympäristön vaatimukset. Vaatimuksien määrittelyn jälkeen suunniteltiin sovelluksen koonnin ja testit suorittava integraatioputki sekä testatusta sovelluksesta Docker-imagen muodostava ja imagen julkaiseva toimitusputki. Putkien suunnittelun jälkeen valittiin Kubernetes-jakelu suorituskykymittauksen pohjalta. Valinnan jälkeen suunniteltiin klusterin rakenne.
Suunnitteluvaiheen jälkeen suoritettiin ympäristön asennus. Asennus suoritettiin ensin virtuaalikoneeseen paikalliselle työasemalle. Paikallista asennusta käytettiin testiympäristönä. Paikallisen asennuksen jälkeen työssä toteutettiin suunniteltu jatkuvan integroinnin ja toimituksen putki. Testiympäristön asentamisen jälkeen tuotantoympäristö asennettiin virtuaalipalvelimille ja sovellus julkaistiin.
Työssä toteutettiin yksinkertainen Kubernetes-ajoympäristö, jonka toimintaa ohjataan GitLab-versiohallinnan kautta. Sovelluksen testaus, koonti ja asentaminen testi- ja tuotantoympäristöihin onnistuu versiohallintaa käyttämällä. Työn valmistuessa sovellus oli julkaistu toteutetussa ympäristössä. Työssä päästiin asetettuun tavoitteeseen. Työstä opituilla taidoilla klusteriin voidaan helposti lisätä uusia web-sovelluksia.