CloudExperten
← Tillbaka till artiklarKubernetes15 min lasning
Containerteknologi och orkestrering i molnmiljo

Foto: Growtika / Unsplash

Kubernetes: Komplett guide till containerorkestrering i molnet

Kubernetes har blivit branschstandarden for containerorkestrering och ar idag centralt i de flesta molnstrategier. Fran startups till storforetag anvander organisationer Kubernetes for att kora, skala och hantera containeriserade applikationer pa ett tillforlitligt satt.

Vad ar Kubernetes?

Kubernetes (ofta forkortat K8s) ar ett orkestreringsverktyg med oppet kallkod som ursprungligen utvecklades av Google baserat pa deras interna system Borg. Det hanterar distribuering, skalning och drift av containerbaserade applikationer over kluster av maskiner.

I grunden loser Kubernetes problemet med att kora containers i produktion: var ska en container placeras, hur ska den startas om vid fel, hur hanteras natverk mellan containers, och hur skalas applikationen vid okande belastning. Utan Kubernetes maste dessa fragor losas manuellt, vilket snabbt blir ohallbart nar antalet containers vaxer.

Grundlaggande koncept

Pods

En Pod ar den minsta distribueringsbara enheten i Kubernetes. Den bestar av en eller flera containers som delar natverksnamespace och lagring. I de flesta fall kors en container per Pod, men sidecar-monster ar vanliga for exempelvis logginsamling eller service mesh-proxyer.

Deployments

En Deployment definierar det onskade tillstandet for en applikation: vilken container-image som ska koras, hur manga repliker som behovs och hur uppdateringar ska hanteras. Kubernetes sakerstaller att det faktiska tillstandet alltid matchar specifikationen. Vid en uppdatering utfors en rolling update som gradvis ersatter gamla Pods med nya, utan nedtid.

Services

En Service ger en stabil natverksidentitet till en grupp Pods. Eftersom Pods ar efemara och kan bytas ut nar som helst, tillhandahaller en Service en fast IP-adress och DNS-namn som automatiskt lastbalanserar trafik till de aktuella Pods som matchar en specificerad label-selektor.

  • ClusterIP — intern atkomst inom klustret, standardtypen
  • NodePort — exponerar tjansten pa en specifik port pa alla noder
  • LoadBalancer — skapar en extern lastbalanserare via molnleverantoren

Namespaces

Namespaces delar upp ett Kubernetes-kluster i logiska omraden. De anvands typiskt for att separera miljoer (staging, produktion), team eller applikationer. Resurskvorer kan sattaas per namespace for att forhindra att en miljo forbrukar alla klusterresurser.

Hanterade Kubernetes-tjanster

De tre stora molnleverantorerna erbjuder hanterade Kubernetes-tjanster som forenklar driften avsevart:

  • Google Kubernetes Engine (GKE) — den mest mogna plattformen med Autopilot-lage for helt serverlos Kubernetes. Las mer i var GCP-guide.
  • Amazon EKS — tatt integrerad med AWS-ekosystemet. Se var AWS-guide for mer information.
  • Azure Kubernetes Service (AKS) — stark integration med Azure DevOps och Active Directory. Las mer i var Azure-guide.

For svenska foretag som borjar med Kubernetes rekommenderas nestan alltid en hanterad tjanst. Att driva egna Kubernetes-kluster kraver betydande operationell kompetens och ar sallan kostnadseffektivt for organisationer med farre an 50 mikrotjanster.

Kubernetes i praktiken: deployment-pipeline

En typisk Kubernetes-baserad DevOps-pipeline ser ut sa har:

  1. Utvecklaren pushar kod till ett Git-repository
  2. CI-systemet (t.ex. GitHub Actions, GitLab CI) bygger en Docker-image
  3. Imagen taggas med commit-hash och pushas till ett container-registry
  4. Kubernetes-manifesten uppdateras med den nya image-taggen
  5. Kubernetes utfor en rolling update som gradvis ersatter Pods
  6. Health checks verifierar att nya Pods fungerar fore skift av trafik

Sakerhet i Kubernetes

Kubernetes-sakerhet kraver uppmerksamhet pa flera lager:

  • RBAC — rollbaserad atkomstkontroll for att begransa vem som kan gora vad i klustret
  • Network Policies — brandvaggsregler pa Pod-niva for att begransa natverkstrafik
  • Pod Security Standards — restriktioner for container-privileges, filsystem och capabilities
  • Image scanning — automatisk sarbarhetsscanning av container-images fore deployment
  • Secrets management — anvand externa losningar som HashiCorp Vault eller molnleverantorens KMS istallet for Kubernetes-inbyggda Secrets

Las mer om molnsakerhet i var guide till cloud security.

Nar ar Kubernetes ratt val?

Kubernetes ar kraftfullt men introducerar betydande komplexitet. Det ar ratt val nar:

  • Ni kor fler an 10 mikrotjanster som behover koordineras
  • Applikationen kraver automatisk skalning baserat pa belastning
  • Ni vill undvika inlasning hos en specifik molnleverantor
  • Teamet har eller ar redo att bygga container- och Kubernetes-kompetens

For enklare arbetsbelastningar ar serverlos-losningar som Cloud Run, AWS Lambda eller Azure Container Apps ofta ett battre alternativ med lagre operationell boraa.

For professionell cloud hosting med stod for containeriserade applikationer erbjuder MEHosting.com skraddarsydda losningar for nordiska foretag.