Hopp til innhald
Fagartikkel

Serverkonteinarar

Serverkonteinarar (containers) er ein virtualiseringstype som køyrer på toppen av verts-OS til ei datamaskin, i motsetning til virtuelle maskiner der sjølve maskinvara er virtualisert. Konteinarar inneheld berre program og filer som trengst for tenesta konteinaren skal levere.

Kva er serverkonteinarar?

Serverkonteinarar (containers) er ei form for virtualisering der vi i staden for å virtualisere maskinvara til datamaskiner, som med virtuelle maskiner, lagar ein konteinar med naudsynte filer og program som trengst for å levere ei spesifikk teneste. Konteinarane er avhengige av operativsystemet til vertsmaskina for å fungere.

Konteinarane er laga for ikkje å påverke kvarandre eller vertsoperativsystemet med mindre dette er konfigurert inn. Dette resulterer i auka sikkerheit på same måte som med virtuelle maskiner, men utan å måtte ha komplette virtuelle maskiner som må haldast oppdaterte. Dette sparer lagringsplass, systemressursar og gjer serverkonteinarar veldig fleksible og effektive.

Fordi kvar konteinar har så lite ressursavtrykk, altså at han bruker lite systemressursar for å køyre, er det vanleg å setje opp ei teneste per konteinar. Dette kallar vi mikrotenester, og du kan lese meir om det på sida Mikrotenester (NDLA).

Dei vanlegaste konteinarløysingane

Docker, rkt, LXC og Hyper-V Containers er døme på konteinarstandardar som er mykje brukte.

Dei ulike konteinarstandardane fungerer noko ulikt, men har mange fellestrekk. Mellom anna er kvar konteinar definert av ei konfigurasjonsfil (container config file). Denne beskriv kva som skal vere i konteinaren, korleis han skal setjast opp, og korleis konteinaren skal kommunisere med andre maskiner eller konteinarar over nettverk og API. Dette gjer at konteinarar lett kan setjast saman og tilpassast nye miljø.

For oppsett på kryss av serverar er det vanleg å setje opp ei klyngje (cluster) og bruke eit konteinarhandteringssystem (container orchestration system). Dette gjer det mogleg å flytte konteinarane mellom fysiske serverar og dessutan lage og køyre fleire samtidige konteinarkopiar (instance) for å auke kapasitet ved høg belastning. Klyngjer og konteinarhandteringssystem kan du lese meir om på sida Når serverar arbeider saman (NDLA).

Virtuelle maskiner og serverkonteinarar i det same systemet?

I artikkelen har vi skilt mellom virtuelle maskiner og konteinarløysingar. I praksis kan begge delar brukast i det same systemet, til dømes dersom du leiger ei virtuell maskin hos ein skyleverandør og set opp operativsystem, konteinarmotor og konteinarar i den virtuelle maskina. Vi skal ikkje gå nærare inn på dette her, men det er greitt å vere klar over at ein slik kompleksitet ikkje er uvanleg i ekte driftsituasjonar.

I YouTube-videoen med Sai Vennam kan du lære litt meir om konteinarar.