Oversikt av Prosjektet

Dette prosjektet demonstrerer oppsett og implementering av en Kubernetes-cluster ved hjelp av 5 Raspberry Pi-enheter. Hovedmålet er å etablere en fungerende cluster hvor en Raspberry Pi 4 fungerer som både brannmur og Kubernetes master, mens de resterende enhetene opererer som worker nodes.

Hovedmål

  • Etablere en funksjonell Kubernetes-cluster

  • Implementere lastbalansering for en webtjeneste

  • Utføre ytelsestesting under høy belastning

Systemarkitektur

  • Master Node (Raspberry Pi 4)

    • Fungerer som brannmur

    • Kubernetes control plane

    • Håndterer cluster-orchestrering

  • Worker Nodes (2x Raspberry Pi)

    • Kjører containers

    • Håndterer applikasjonsbelastning

    • Skalerer etter behov

Teknisk Spesifikasjon

Maskinvare

  • 1x Raspberry Pi 4 (Master)

  • 2x Raspberry Pi (Workers)

  • Nettverksswitch

  • Ethernet-kabler

  • Strømforsyninger

Programvare

  • Raspberry Pi OS

  • Kubernetes (K3S)

  • SSH for fjernadministrasjon

  • Ytelsestestverktøy (oha)

Implementeringsplan

Fase 1: Grunnoppsett

  1. Installasjon av operativsystemer

  2. SSH-konfigurasjon

  3. Nettverksoppsett med statiske IP-er

Fase 2: Kubernetes Implementering

  1. Installasjon av valgt Kubernetes-distribusjon

  2. Konfigurasjon av master node

  3. Tilkobling av worker nodes

Fase 3: Applikasjonsdeployment

  1. Oppsett av test-webapplikasjon

  2. Konfigurasjon av lastbalansering

  3. Ytelsestesting og optimalisering

Risikovurdering

Risiko
Beskrivelse
Tiltak

Utstyrsmangel

Begrenset tilgang på Raspberry Pi-enheter

Forhåndsbestille/reservere utstyr

Konfigurasjonsfeil

Feil i nettverks- eller brannmuroppsett

Grundig testing og dokumentasjon av konfigurasjoner

Ytelsesutfordringer

Begrensninger i håndtering av høy last

Implementere god overvåking og skalering

Ytelsestesting

Testmetodikk

  • Bruk av oha for belastningstesting

  • Måling av responstider

  • Analyse av ressursbruk

  • Evaluering av lastbalansering

Målepunkter

  • Responstid under normal last

  • Maksimal samtidig belastning

  • Skaleringseffektivitet

  • Ressursforbruk per node

Milepæler

1

Undersøkelse av teknologier

Jeg vil undersøke ulike måter å utføre prosjektet på, inkludert å se YouTube-videoer som omhandler lignende prosjekter, og lese relevante artikler som gir veiledning for oppsett av Kubernetes på Raspberry Pi.

2

Låne utstyr

Låne Raspberry Pi-er, switch, kabler og annet nødvendig utstyr.

3

Operativsystem og SSH-oppsett

Installere operativsystemet på Raspberry Pi-ene og sette opp SSH for å jobbe hjemmefra.

4

Nettverksoppsett

Koble til switch og kabler, og sette opp en brannmur på Pi4-enheten som skal fungere som master i clusteret.

5

Programvareinstallasjon

Installere nødvendig programvare på både master og slave enhetene. Dette inkluderer valg av Kubernetes-løsning som kan være Microk8s, K3s eller vanlig Kubernetes (K8s).

6

Implementering av prosjekt

Legge til et enkelt prosjekt på serveren, enten en eksisterende applikasjon eller utvikle en egen API eller nettside for Pi-racken.

7

Testing av ytelse

Jeg vil bruke verktøy som oha eller lignende for å sende tusenvis av forespørsler til serveren, og analysere ytelsen for å se hvordan systemet håndterer belastning og fordeling av forespørsler.

Sist oppdatert