docs/k8s_presentation.org

166 lines
2.4 KiB
Org Mode
Raw Permalink Normal View History

#+TITLE: K8s & Homelabbing
2022-10-30 20:31:40 +00:00
* Hva er kubernetes?
2022-10-31 22:52:06 +00:00
#+ATTR_ORG: :width 900
2022-10-31 18:43:36 +00:00
[[./images/k8s-logo.png]]
2022-10-30 20:31:40 +00:00
** "An Operating system for the cloud"
2022-10-31 18:43:36 +00:00
- Mange distribusjoner!
- Massevis av "kubernetes programmer"
2022-10-30 20:31:40 +00:00
** Distribuert konfigurasjonssystem
2022-10-31 18:43:36 +00:00
- Nodes
- Master nodes
- Worker nodes
- Komponenter som leser konfigurasjonen
- kubelet
- overlay network
- service proxy
- load balancer
- storage manager
- ingress manager
- ...
2022-10-30 20:31:40 +00:00
* Hvorfor kjøre homelab?
2022-10-31 18:43:36 +00:00
- Læring
- Kostnad
- Privacy
- Morro!
2022-10-30 20:31:40 +00:00
2022-10-31 22:52:06 +00:00
[[./images/nextcloud.png]]
2022-10-30 20:31:40 +00:00
* Hva kjører i min homelab?
2022-10-31 18:43:36 +00:00
- Nextcloud
- Gitea
- Drone cicd
- chat-bots
- aur repo
- openldap
- bitwarden
- mail server
2022-10-31 18:43:36 +00:00
- backup
- jellyfin (soon(tm))
- k8s componenter!
- k3s
- openebs
- cert-manager
- loki
- prometheus
2022-10-31 18:43:36 +00:00
- grafana
- container registry
- nginx ingress controller
- FluxCD
2022-10-30 20:31:40 +00:00
* Hvordan kjøre din egen k8s?
2022-10-31 18:43:36 +00:00
- k3s
- rancher
- k0s
- minikube
- ...
2022-10-30 20:31:40 +00:00
** Med docker!
2022-10-31 18:43:36 +00:00
- k3d
- kind
2022-10-30 20:31:40 +00:00
** Yaml, yaml, yaml, yaml...
2022-10-30 20:31:40 +00:00
* Hardware
2022-10-31 18:43:36 +00:00
- Single machine
- Raspberry pi cluster
- online vps
- Virtuelle maskinger
- Cross-cloud
- Hybrid cloud
2022-10-30 20:31:40 +00:00
** 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
2022-10-31 18:43:36 +00:00
* Hvordan putter jeg ting i clusteret?
** Manuelt
- docker hub
- MER YAML!
2022-10-31 18:43:36 +00:00
** Helm!
- artifacthub
** Fluxcd!
2022-10-30 20:31:40 +00:00
* Gode ressurser / Ting å google
** Youtube
2022-10-31 18:43:36 +00:00
- Jeff Geerling
- TechnoTim
- Just me and opensource
- Level1Techs
2022-10-30 20:31:40 +00:00
** Reddit
- /r/selfhosted
- /r/DataHoarder
- /r/homelab
- /r/HomeServer
- /r/k3s
- /r/rancher
- /r/linux
2022-10-30 20:31:40 +00:00
** StackExchange
2022-10-30 20:31:40 +00:00
* Demo?
#+begin_src bash :results drawer replace
k3d cluster delete
2022-10-30 20:31:40 +00:00
k3d cluster create -p "8081:80@loadbalancer" --agents 2
#+end_src
#+begin_src bash :results drawer replace
2022-10-30 20:31:40 +00:00
kubectl get nodes
#+end_src
2022-10-30 20:31:40 +00:00
#+begin_src bash :results drawer replace
kubectl get pods -A -o wide
#+end_src
2022-10-30 20:31:40 +00:00
#+begin_src bash :results drawer replace
2022-10-30 20:31:40 +00:00
helm repo add podinfo https://stefanprodan.github.io/podinfo
helm install podinfo podinfo/podinfo --set ingress.enabled=true
#+end_src
2022-10-30 20:31:40 +00:00
#+begin_src bash :results drawer replace
2022-10-30 20:31:40 +00:00
curl -H 'Host: podinfo.local' localhost:8081
#+end_src