2.4 KiB
2.4 KiB
K8s & Homelabbing
- Hva er kubernetes?
- Hvorfor kjøre homelab?
- Hva kjører i min homelab?
- Hvordan kjøre din egen k8s?
- Hardware
- K3s
- Hvordan putter jeg ting i clusteret?
- Gode ressurser / Ting å google
- Demo?
Hva er kubernetes?

"An Operating system for the cloud"
- Mange distribusjoner!
- Massevis av "kubernetes programmer"
Distribuert konfigurasjonssystem
-
Nodes
- Master nodes
- Worker nodes
-
Komponenter som leser konfigurasjonen
- kubelet
- overlay network
- service proxy
- load balancer
- storage manager
- ingress manager
- …
Hvorfor kjøre homelab?
- Læring
- Kostnad
- Privacy
- Morro!

Hva kjører i min homelab?
- Nextcloud
- Gitea
- Drone cicd
- chat-bots
- aur repo
- openldap
- bitwarden
- mail server
- backup
- jellyfin (soon(tm))
-
k8s componenter!
- k3s
- openebs
- cert-manager
- loki
- prometheus
- grafana
- container registry
- nginx ingress controller
- FluxCD
Hvordan kjøre din egen k8s?
- k3s
- rancher
- k0s
- minikube
- …
Med docker!
- k3d
- kind
Yaml, yaml, yaml, yaml…
Hardware
- Single machine
- Raspberry pi cluster
- online vps
- Virtuelle maskinger
- Cross-cloud
- Hybrid cloud
Hva hvis nodes ikke er på samme nettverk?
Wireguard!
K3s
Kommer med mye essentials ut av boksen
- Flannel overlay
- Traefik ingress
- KlipperLB LoadBalancer
- LocalProvisioner StorageClass
- CoreDNS
Lightweight og Customizable
- Single Binary
- Nesten alle komponenter kan byttes ut
Bygget mer for "utradisjonelle" k8s miljø
- Flannel
- KlipperLB
Hvordan putter jeg ting i clusteret?
Manuelt
- docker hub
- MER YAML!
Helm!
- artifacthub
Fluxcd!
Gode ressurser / Ting å google
Youtube
- Jeff Geerling
- TechnoTim
- Just me and opensource
- Level1Techs
- /r/selfhosted
- /r/DataHoarder
- /r/homelab
- /r/HomeServer
- /r/k3s
- /r/rancher
- /r/linux
StackExchange
Demo?
k3d cluster delete
k3d cluster create -p "8081:80@loadbalancer" --agents 2
kubectl get nodes
kubectl get pods -A -o wide
helm repo add podinfo https://stefanprodan.github.io/podinfo
helm install podinfo podinfo/podinfo --set ingress.enabled=true
curl -H 'Host: podinfo.local' localhost:8081