docs/presentation_kanzone.org

159 lines
2.8 KiB
Org Mode
Raw Normal View History

2024-11-14 22:55:57 +00:00
* Hvordan kjøre k8s cluster på hytta for fun and profit!
* Hvordan kjøre k8s cluster på hytta for fun +and profit!+ and savings!
* Hvordan kjøre k8s cluster på hytta for fun +and profit!+ +and savings!+ uh.... and FUN!
[[./images/server.jpg]]
* Men altså... how did we get here?
* Men altså... how did we get here?
[[./images/minecraft.png]]
* Bare-metal og vps!
[[file:images/baremetal.png]]
* Docker! ... og en del nginx og ruter-mikk...
[[file:images/docker.png]]
* wireguard!
[[file:images/docker.png]]
veldig enkel måte å sette opp vpn på!
* ... er k8s løsningen?
#+ATTR_ORG: :width 900
[[./images/k8s-logo.png]]
- Distribuert!
- Config management!
- Mer enn bare containere!
- og relevant for jobb!
* Men hvilken distro skal jeg velge?
* Men hvilken distro skal jeg velge?
** standard / kubeadm
- bare base k8s,
mangler mange componenter for å faktisk gjøre ting.
** k0s
- veldig lightweight, må sette opp en del selv.
** Minikube
- enkelt
- lager egen vm, kun 1 node
** rancher rke & rke2
- Rke kjører over docker
- Rke2 var ikke stabilt når jeg startet
** rancher k3s
- egentlig laget for edge, men funker ganske greit for
større ting og har mye ute av boksen!
- funker i litt mer utradisjonelle k8s miljø
* Utfordring: NAT
[[file:images/kubeServer.png]]
[[file:images/kubeInternal.png]]
* helm magic!
=helm install <whatever> -f config.yaml=
https://artifacthub.io/ docker hub for helm!
* Git-ops & fluxcd!
Skriv yaml -> commit til git -> *k8s magic* -> deployed!
* Så hva kjører jeg?
- Nextcloud
- immich
- Gitea
- Drone cicd
- chat-bots
- archlinux pakke repo
- openldap
- bitwarden (vaultwarden)
- mail server
- jellyfin
- k8s componenter!
- k3s
- openebs
- cert-manager & trust-manager
- loki / prometheus / grafana
- container registry
- stakater-reloader
- nginx ingress controller
- FluxCD
* Hva ville jeg gjort anderledes?
- all config i git fra starten av!
- bruk gitops tidligere
* Gode ressurser / Ting å google
** Youtube
- Jeff Geerling
- TechnoTim
- Just me and opensource
- Level1Techs
** Reddit
- /r/selfhosted
- /r/DataHoarder
- /r/homelab
- /r/HomeServer
- /r/k3s
- /r/rancher
- /r/linux
** StackExchange
** eller, spør meg!
* Demo?
#+begin_src bash :results drawer replace
k3d cluster delete
k3d cluster create -p "8081:80@loadbalancer" --agents 2
#+end_src
#+begin_src bash :results drawer replace
kubectl get nodes
#+end_src
#+begin_src bash :results drawer replace
kubectl get pods -A -o wide
#+end_src
#+begin_src bash :results drawer replace
helm repo add podinfo https://stefanprodan.github.io/podinfo
helm install podinfo podinfo/podinfo --set ingress.enabled=true
#+end_src
#+begin_src bash :results drawer replace
curl -H 'Host: podinfo.local' localhost:8081
#+end_src