Inlägg 3: Från Docker Compose till K3s - backup och HA som anledning

25 jan 2026

Varför K3s egentligen?

Jag kan inte påstå att jag har känt något direkt behov av att köra ett Kubernetes-kluster här hemma. Docker Compose fungerar utmärkt för mina containers, och K3s kommer garanterat skapa fler problem än vad det löser - åtminstone i början.

Men:

Det som lockade mig var koncepten bakom High Availability (HA), failover, load balancing, distributed storage och möjligheten att bygga ett riktigt 3-2-1 backup-system.

Ursprungliga planen: Tre Pis i ett torn

Först tänkte jag köpa tre Raspberry Pis och bygga ett fint litet torn här hemma för att få till "riktig" HA. Tre noder lokalt, full redundans, automatisk failover när en dör.

Men var inte sugen på att köpa en till just nu när hårdvaran blivit så väldigt dyr jämfört med några månader sedan, så blir att jag kopplar ihop mina två lokala Pis med en cloudtjänst.

Att koppla ihop mina två Pier här hemma med en cloudtjänst kommer att ge mig mer exponering mot andra lösningar. Får även till -1 i backup-regeln och det är mycket billigare.

High Availability & Failover - vad betyder det?

High Availability (HA) = Systemet fortsätter fungera även om en nod dör

Mitt mål:

Pi 1 (hemma): Master + Worker

Pi 2 (hemma): Master + Worker

Cloud node: Master + Worker

Failover = Automatisk flytt av tjänster till annan nod när något går fel

3-2-1 Backup-strategin

3-2-1 regeln:

  • 3 kopior av data
  • 2 olika medier/teknologier
  • 1 kopia off-site (annan plats)

Med Longhorn (distributed storage för K3s):

  • Data replikeras automatiskt över alla noder
  • Om en disk dör finns data på andra noder
  • Persistent volumes överlever pod/node-restarts

Monitoring & Observability - slutligen intressant

En sak jag märkt med Docker Compose är att monitoring varit... tråkigt. Jag har Prometheus och Grafana uppsatt, men det är inte många grafer som ens rör sig om jag inte gör något aktivt.

Med K3s kan det mer intressant:

Auto-scaling baserat på metrics, se hur det fungerar när man stressar systemet.

Just nu leker jag mest med hårdvaran på min befintliga Pi för att få graferna att avvika lite. Med K3s får jag faktiskt meningsfulla metrics att övervaka.


Där jag är i mitt skede under utbildningen vill jag snappa upp och få erfarenhet av mycket istället för att grotta mig in i en sak. Att ge mig an utmaningen Kubernetes kommer garanterat ge mig kunskap om mycket mer än bara container orchestration:

Vad jag kommer lära mig:

  • Distributed systems
  • Networking (service mesh, ingress, DNS)
  • Storage (persistent volumes, stateful sets)
  • Security (RBAC, network policies, secrets)
  • CI/CD (GitOps med ArgoCD/Flux)
  • Observability (Prometheus, Grafana, Loki)
  • Infrastructure as Code (Helm, Kustomize)
  • Cloud platforms (AWS/Azure/GCP)

Har säkert missat något, men dessa punkter har jag skrivit ner till detta inlägget, så dom ”problemen” kommer jag att möta.

Är det overkill?

100 %! Kan knappt motivera mitt köp av all hårdvara för mig själv, ännu mindre sambon.. Men är lärorikt på så många sätt, är kul och såklart relevant för LIA/jobb.

Vad är nästa steg då?

Fas 1: Single-node K3s

  • Installera K3s på nuvarande Pi
  • Migrera några containers från Docker Compose

Fas 2: Multi-node setup

  • Lägg till Pi 2 när NVME Hat kommit
  • Konfigurera multi-master för HA
  • Testa failover (dra ur sladden på en Pi!)

Fas 3: Hybrid cloud

  • Lägg till cloud node
  • Konfigurera Longhorn för distributed storage
  • 3-2-1 backup-system på plats

Fas 4: Observability

  • Prometheus + Grafana stack
  • Loki för centralized logging
  • Testa auto-scaling och chaos engineering

Dokumentation

Allt kommer dokumenteras här på bloggen och all IaC finns på GitHub.