Skip to content

zilinjak/homelab-k8s

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

homelab-k8s

I have decided to create a homelab, mainly to improve my skills in k8s and knowledge Im missing. Main reason is that I want to learn stuff that is being done by my colleagues at work (Yes, Im DevOps Engineer). I want to learn about whole infrastructure, how to manage it, what each component does and how do they work. I know that I will never understand everything and more I know means that I know that I dont know much (hope that makes sence), but lets give it a try and see how far I can get.

Current solution

  • ArgoCD
  • Ingress nginx controller
  • PiHole
  • Forwarded dns traffic on the router to PiHole ( secondary DNS is google - 8.8.8.8 )
  • PrometheusStack ( Prometheus, Grafana )
  • OpenVPN setup

In progress

  • external-dns - currently only in dry mode, is supposed to sync *.internal.zilinek.fun to pihole, this needs to be finished

To Do

  • Separete ingress for *.zilinek.fun and *.private.zilinek.fun
    • Internal ingress
    • External ingress -> This will required different impl of LoadBalancer - MetalLB
  • Secrets solution, possible this - https://utkuozdemir.org/blog/argocd-helm-secrets/
    • See this
    • We dont want secrets in repo, currently they are there
  • Fix PrometheusStack ( Alerts + Metrics from etcd, proxy, scheduler - more here and here )
  • HTTPS Certs
  • LongHorn
  • Add PrometheusStack ( Loki, Tempo, OtelCollector )
  • Documentation App - how does the infra look like
  • JVM Memory and CPU analysis - mainly what GC adds what overhead
  • Plex server
  • More nodes?

Developer notes

Ingress

Initially we wanted to use the cloudflared ingress controller, but after a while I have decided that I want to learn how to properly route the data via public internet, DNS and Ingress Nginx controller. Hence we are now using the ingress-nginx controller.

Longhorn

Install LonghornCLI

curl -L https://github.com/longhorn/cli/releases/download/${LonghornVersion}/longhornctl-${OS}-${ARCH} -o longhornctl
chmod +x longhornctl
mv ./longhornctl /usr/local/bin/longhornctl

Prepare the nodes

Run following on all nodes:

sudo apt install open-iscsi cryptsetup nfs-common
longhornctl install preflight

Validate settings

longhornctl check preflight

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published