Hopp til innhald

Fagstoff

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.
Ein truck stablar konteinarar. Foto.
Opne bilete i eit nytt vindauge

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.

Samanlikning mellom virtuell maskin til venstre og serverkonteinar til høgre, illustrert ved boksar som er oppå kvarandre. Til venstre står det Maskinvare nedst, og over der igjen står det Type 1-hypervisor. Opp frå denne boksen går det to like felt, merkte med overskriftene Virtuell maskin 1 og Virtuell maskin 2. Kvart av felta har dei følgjande boksane, frå nedst til øvst: Virtuell maskinvare, Operativsystem, Bibliotek, Mellomvare, Dataprogram. Til venstre står det Maskinvare nedst, og over der igjen står det Vertsoperativsystem. Deretter er det ien boks med Konteinarmotor. Opp frå denne boksen går det tre like felt, merkte med overskriftene Konteinarmotor 1, Konteinarmotor 2 og Konteinarmotor 3. Kvart av felta har dei følgjande boksane, frå nedst til øvst: Konfigurasjonsfil, Bibliotek, Mellomvare, Dataprogram. Illustrasjon.
Opne bilete i eit nytt vindauge

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.

CC BY-SASkrive av Tron Bårdgård.
Sist fagleg oppdatert 29.04.2021

Læringsressursar

Virtualisering av IT-ressursar